Time limit: 1.0s , Memory limit: 256M , Points: 2500 (partial)
Cho đơn đồ thị bao gồm đỉnh và
cạnh, các đỉnh được đánh số từ
đến
, các cạnh được đánh số từ
đến
. Các màu sắc dùng để tô các đỉnh của đồ thị được đánh số từ
.
Ban đầu, mỗi đỉnh của đồ thị đều được tô màu . Thực hiện lần lượt
thao tác như sau:
- Mỗi thao tác có dạng V D C : tiến hành tô màu
cho các đỉnh có độ dài đường đi ngắn nhất đến đỉnh
không vượt quá
lưu ý rằng các đỉnh này phải có ít nhất một đường đi đến đỉnh
.
Sau khi thực hiện thao tác, mỗi đỉnh sẽ mang màu mới nhất được tô.
Yêu cầu: Cho biết đồ thị và các thao tác. Bạn hãy xác định loại màu được tô cho mỗi đỉnh sau khi thực hiện tất cả thao tác.
Input
- Dòng đầu tiên chứa hai số nguyên
và
.
dòng tiếp theo, dòng thứ
chứa hai số nguyên
và
mô tả cạnh thứ
nối hai đỉnh
,
.
- Dòng tiếp theo chứa số nguyên
.
dòng tiếp theo, mỗi dòng chứa ba số nguyên
,
và
mô tả thao tác
,
,
.
Output
- In ra
dòng, dòng thứ
chứa một số nguyên là màu của đỉnh thứ
sau khi thực hiện tất cả
thao tác.
Examples
Sample Input
7 7
2 3
2 1
3 1
1 4
4 5
5 6
5 7
2
6 1 1
1 2 2
Sample Output
2
2
2
2
2
1
0
Scoring
- Subtask
điểm:
- Subtask
điểm:
với mọi thao tác
- Subtask
điểm: Không có ràng buộc gì thêm
Notes
Ở ví dụ, quá trình thực hiện các thao tác được mô tả như trong hình sau:
Comments