CÁC THÙNG NƯỚC - mã: IOIBIN - SPOJ


Link: http://vn.spoj.com/problems/IOIBIN/



Có N thùng nước được đánh s t 1 đến N, gia 2 thùng bt k đều có mt ng ni có mt van có th khóa hoc m. trng thái ban đầu tt c các van đều đóng.
Bn được cho mt s yêu cu, trong đó mi yêu cu có 2 dng:
Dng X Y 1 có ý nghĩa là bn cn m van ni gia 2 thùng X và Y.
Dng X Y 2 có ý nghĩa là bn cn cho biết vi trng thái các van đang m / khóa như hin ti thì 2 thùng X và Y có thuc cùng mt nhóm bình thông nhau hay không? Hai thùng được coi là thuc cùng mt nhóm bình thông nhau nếu nước t bình nàycó th chy đến được bình kia qua mt s ng có van đang m.
Input
Dòng đầu tiên ghi mt s nguyên dương P là s yêu cu.
Trong P dòng tiếp theo, mi dòng ghi ba s nguyên dương X, Y, Z vi ý nghĩa có yêu cu loi Z vi 2 thùng X và Y.
Output
Vi mi yêu cu dng X Y 2 (vi Z = 2) bn cn ghi ra s 0 hoc 1 trên 1 dòng tùy thuc 2 thùng X và Y không thuc hoc thuc cùng mt nhóm bình.
Example
Input:
9
1 2 2
1 2 1
3 7 2
2 3 1
1 3 2
2 4 2
1 4 1
3 4 2
1 7 2
Output:
0
0
1
0
1
0
Gii hn
  • 1 N 10000
  • 1 P 50000


Solution: IOIBIN
Code: IOIBIN.PAS


Continue Reading

MẠNG TRUYỀN THÔNG (VOI 2013) - mã: COMNET - SPOJ


Link: http://vn.spoj.com/problems/COMNET/
====================================






   Tổng công ty Z gồm N công ty con, đánh số từ 1-N. Mỗi công ty con có một máy chủ. Để đảm bảo truyền tin giữa các công ty, Z thuê M đường truyền tin để kết nối N máy chủ thành một mạng máy tính của Tổng công ty. Không có 2 đường truyền nối cùng 1 cặp máy chủ. Đường truyền i nối máy chủ của 2 công ty ui, vi có chi phí là wi. Mạng máy tính có tính thông suốt, nghĩa là từ một máy chủ có thể truyền tin đến một máy chủ bất kì khác bằng đường truyền trực tiếp hoặc qua nhiều đường trung gian.


    Một đường truyền gọi là không tiềm năng nếu như : một mặt, việc loại bỏ đường truyền này không làm mất tính thông suốt; mặt khác, nó phải có tính không tiềm năng, nghĩa là không thuộc bất cứ mạng con thông suốt gồm N máy chủ và N-1 đường truyền tin với tổng chi phí thuê bao nhỏ nhất nào của mạng máy tính.


    Trong thời gian tới, chi phí thuê bao của một số đường truyền tin thay đổi. Tổng công ty muốn xác định với chi phí mới thì đường truyền thứ k có là đường không tiềm năng hay không để xem xét chấm dựt việc thuê đường truyền này.

Input

  • Dòng đầu là T – số testcase. T nhóm dòng, mỗi nhóm cho thông tin về một testcase.
  • Dòng thứ nhất gồm 3 số nguyên dương N, M, Q (Q <= 30).
  • Dòng thứ i trong M dòng tiếp theo chứa 3 số nguyên dương ui, vi, wi (ui ≠ vi, wi < 109).
  • Dòng thứ j trong Q dòng tiếp theo mô tả giả định thứ j:
    • Số đầu tiên là chỉ số kj của đường truyền tin cần xem xét
    • Tiếp theo là sj ( sj <= 100) cho biết số lượng đường truyền có chi phí thuê mới
    • Cuối cùng là sj cặp số nguyên dương tp, cp cho biết đường truyền thứ tp có chi phí thuê mới là cp(cp < 109).

Output

  • Gồm T nhóm dòng, mỗi nhóm gồm Q dòng. Mỗi dòng là câu trả lời cho giả định tương ứng trong input. Ghi YES nếu câu trả lời là khẳng định và NO trong trường hợp ngược lại.

Example



Input:
1
3 3 2
1 2 1
1 3 2
2 3 3
3 2 2 4 3 4
1 1 1 4
 
Output:
NO
YES

Giới hạn

- 30% số test đầu có 1 ≤ N ≤ 100;
- 30% số test tiếp theo có 1 ≤ N ≤ 104 và 1 ≤ M ≤ 105;
- 40% số test còn lại có 1 ≤ N ≤ 105 và 1 ≤ M ≤ 106.

Hướng làm: COMNET
Code tham khảo: COMNET.PAS
Continue Reading

ROBIN - mã: C11BC2 - SPOJ


LINK: http://vn.spoj.com/problems/C11BC2/
=====================================


           Một ngày đẹp trời nọ, trên vương quốc của các Coders 2011, bỗng xuất hiện 1 lão phù thủy độc ác, lão phù thủy sirDat_LS đã có âm mưu thôn tính đất nước  của đức vua vodanh9x. Lão phù thủy này rất yêu con gái của đức vua là Rose và đã bắt Rose về nơi ở của lão ta.
            Đức vua vodanh9x liền tìm hiệp sĩ Robin và sẽ hứa gả con gái cho Robin nếu chàng cứu được công chúa Rose trở về. Lão phù thủy sirDat_LS độc ác với khuôn mặt rất ghê tởm khiến công chúa mỗi khi nhìn thấy hắn thì công chúa lại ngất đi.
            Và rồi, chàng Robin của chúng ta đã tìm được đến nơi ở của lão phù thủy. Nơi ở của lão là 1 mê cung có N phòng, và N phòng này liên thông với nhau và có đúng N-1 đường đi (coi mỗi đường đi là 1 cạnh).
            Nhưng khó khăn thay, lão phù thủy đã đánh số mỗi đường đi là 1 hoặc 2. Nếu chàng Robin muốn đến cứu công chúa, thì từ nơi xuất phát đến nơi có công chúa phải có ít nhất một đường đi được đánh số 2, nếu không chàng Robin sẽ chết.
            Yêu cầu: Cho m truy vấn (m <= 10^5) mỗi truy vấn có dạng (x,y), trong đó x là nơi xuất phát của Robin và y là nơi nhốt công chúa. Xác định đường đi ngắn nhất từ x đến y có cạnh co trọng số 2 hay không.

Input

-Dòng đầu là số nguyên N (N <= 10^4) - số đỉnh của đồ thị và M  – số truy vấn.
-Từ dòng 2 đến dòng N: dòng thứ i chứa 2 số nguyên dương  x (x < i) và k (k <= 2) nghĩa là có cạnh nối giữa i và x và được đánh số là k.
-M dòng sau: mỗi dòng chứa 2 số x và y (Biểu thị cho truy vấn (x,y)).

Output
Với mỗi truy vấn, xuất ra “YES” nếu tồn tại đường đi có ít nhất 1 cạnh có trọng số 2, ngược lại xuất ra “NO”.
Example
Input:
6 7
1 1
1 2
3 1
1 2
5 2
1 3
5 1
2 1
2 1
1 2
2 4
1 2
Output:
YES
YES
NO
NO
NO
YES
NO


===============================
Thuật:
- Hợp nhất đường đi đánh dấu số 1
- Với mỗi truy vấn, ta kiểm tra tính liên thông của hai đỉnh x và y, nếu có thì ghi NO ngược lại ghi YES
==============================
Code tham khảo: C11BC2.PAS

Continue Reading
 
CẢM ƠN CÁC BẠN ĐÃ XEM !!! ×