R25_LS03XORPATH


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 512M

Problem type

Cho đồ thị liên thông, có trọng số gồm \(N\) đỉnh, \(M\) cạnh. Xét \(Q\) truy vấn, mỗi truy vấn thuộc một trong hai loại sau:

  • Truy vấn loại 1 , có dạng \(1\) \(i\), có ý nghĩa xóa cạnh thứ \(i (1≤i≤M);\)

  • Truy vấn loại 2, có dạng \(2\) \(u\) \(v\), có ý nghĩa tìm đường đi ngắn nhất từ \(u\) đến \(v\) với giá trị của đường đi là giá trị \(XOR\) của các cạnh trên đường đi đó (có thể đi lặp cạnh) hoặc cho biết không tồn tại đường đi.

Nhắc lại, phép toán \(XOR\) (có kí hiệu là \(^\) ) được định nghĩa như sau: Kết quả của phép toán \(XOR\) giữa hai số nguyên không âm \(x\) và \(y\) là một số nguyên không âm \(z\) trong đó bit thứ \(k\) trong biểu diễn nhị phân của \(z\) sẽ là \(0\) khi và chỉ khi bit thứ \(k\) trong biểu diễn nhị phân của \(x\) và \(y\) giống nhau, ngược lại bit thứ \(k\) trong biểu diễn nhị phân của sẽ là \(1\).

Input

  • Dòng đầu chứa ba số nguyên dương \(N,M,Q (N,M,Q≤2×10^5);\)

  • Dòng thứ \(i(1≤i≤M)\) trong \(M\) dòng tiếp theo mỗi dòng chứa ba số nguyên \(u,v,w\) mô tả cạnh từ \(u\) đến \(v\) với trọng số \(w\);

  • \(Q\) dòng tiếp theo mỗi dòng mô tả mộ trong hai loại truy vấn.

Output

  • Với mỗi truy vấn loại 2 in ra giá trị nhỏ nhất hoặc -1 nếu không có đường đi.

Ràng buộc

  • Subtask 1 (30%):\(M=N-1 ;\)

  • Subtask 2 (30%): \(M=N ;\)

  • Subtask 3 (30%): \(Q=1;N,w≤1000;\)

  • Subtask 4 (10%): Không có ràng buộc nào thêm.

Sample Input

5 5 5
1 2 2
2 3 2
3 4 2
2 5 0
5 3 1
2 1 4
1 4
2 1 4
1 2
2 1 4

Sample Output

1
2
-1

Comments

There are no comments at the moment.