VOI 13 Bài 3 - Mạng truyền thông

View as PDF

Submit solution

Points: 0.78 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
VOI 2013 - Ngày 1
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Tổng công ty ~Z~ gồm ~N~ công ty con, đánh số từ ~1~ tới ~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 ~u_{i}~, ~v_{i}~ có chi phí là ~w_{i}~. 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

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 \le 30~).

  • Dòng thứ ~i~ trong ~M~ dòng tiếp theo chứa ~3~ số nguyên dương ~u_{i}~, ~v_{i}~, ~w_{i}~ (~u_{i} \neq v_{i}~, ~w_{i} < 10^{9}~).

  • Dòng thứ ~j~ trong ~Q~ dòng tiếp theo mô tả giả định thứ ~j~:

    • Số đầu tiên là chỉ số ~k_{j}~ của đường truyền tin cần xem xét
    • Tiếp theo là ~s_{j}~ (~s_{j} \le 100~) cho biết số lượng đường truyền có chi phí thuê mới
    • Cuối cùng là ~s_{j}~ cặp số nguyên dương ~t_{p}~, ~c_{p}~ cho biết đường truyền thứ ~t_{p}~ có chi phí thuê mới là ~c_{p}~ (~c_{p} < 10^{9}~).

Output

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.

Giới hạn

  • 30% số test đầu có ~1 \leq N \leq 100~;
  • 30% số test tiếp theo có ~1 \leq N \leq 10^{4}~ và ~1 \leq M \leq 10^{5}~;
  • 40% số test còn lại có ~1 \leq N \leq 10^{5}~ và ~1 \leq M \leq 10^{6}~.

Sample Input

1
3 3 2
1 2 1
1 3 2
2 3 3
3 2 2 4 3 4
1 1 1 4

Sample Output

NO
YES

Comments

Please read the guidelines before commenting.