[Hải Phòng - TST - 2025] Bài 5: TREE
Xem dạng PDF
Gửi bài giải
Điểm:
40,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho đồ thị vô hướng liên thông có ~n~ đỉnh (đánh số từ 1 đến ~n~) và ~n - 1~ cạnh. Mỗi cạnh có trọng số là số nguyên dương ~C~. Trong số ~n~ đỉnh thì có đúng ~k~ đỉnh được đánh dấu.
Yêu cầu: Với mỗi đỉnh ~i~ (~1 \le i \le n~), hãy tìm đường đi ngắn nhất xuất phát từ đỉnh ~i~ và đi qua tất cả ~k~ đỉnh được đánh dấu.
Input
- Dòng đầu tiên chứa hai số nguyên dương ~n, k~ (~1 < n \le 2 \times 10^5, 1 \le k \le n~);
- ~n - 1~ dòng tiếp theo, mỗi dòng chứa ba số nguyên ~A, B, C~ (~1 \le A, B \le n, 1 \le C \le 10^6~) thể hiện có một cạnh nối đỉnh ~A~ với đỉnh ~B~ có trọng số bằng ~C~;
- ~k~ dòng cuối cùng, mỗi dòng chứa chỉ số của một đỉnh được đánh dấu. Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.
Output
- Ghi ra ~n~ dòng, dòng thứ ~i~ là độ dài đường đi ngắn nhất xuất phát từ đỉnh ~i~ (~1 \le i \le n~) và đi qua tất cả ~k~ đỉnh được đánh dấu.
Sample Input 1
5 2
2 5 1
2 4 1
1 2 2
1 3 2
4
5
Sample Output 1
5
3
7
2
2
Bình luận