Đồ thị
Đề bài
Mô tả
Cho đồ thị đỉnh (đánh số từ đến ) và cạnh. Trọng số của mỗi cạnh là không âm. Hãy xác định đường đi ngắn nhất từ đỉnh cho trước tới mỗi đỉnh còn lại và độ dài của đường đi đó.
Mỗi cạnh đi được theo cả hai chiều, từ tới và từ tới , với cùng trọng số (ví dụ : từ đỉnh tới đỉnh đi qua cạnh "1 2 10"). Độ dài một đường đi là tổng trọng số các cạnh trên đường đi đó.
Yêu cầu: Tìm độ dài đường đi ngắn nhất từ đỉnh đến các đỉnh còn lại và truy vết đường đi cho các đỉnh được yêu cầu.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và (, ).
- Nếu thì mỗi dòng trong dòng tiếp theo chứa ba số nguyên cho biết có cạnh nối với có trọng số (, , ). Không có hai dòng nào giống nhau (hai đỉnh vẫn có thể được nối bởi nhiều cạnh có trọng số khác nhau).
- Dòng thứ chứa số nguyên ().
- Dòng cuối cùng chứa số nguyên và sau đó là số nguyên () cho biết phải dẫn xuất đường đi ngắn nhất từ tới , . Dữ liệu bảo đảm luôn có đường đi từ tới mọi .
Dữ liệu ra
- Dòng đầu tiên chứa số nguyên, số thứ là độ dài đường đi ngắn nhất từ đến đỉnh (số thứ bằng ). Độ dài bằng nếu không tồn tại đường đi từ đến đỉnh đó.
- Dòng thứ trong dòng sau chứa thông tin về đường đi ngắn nhất từ tới , có dạng
TU DINH s to ci: v1 v2 ... vt, trong đó và được thay bằng số hiệu đỉnh (ngay sau là dấu hai chấm), còn là các đỉnh lần lượt trên đường đi, hai đỉnh liên tiếp được nối bởi một cạnh. Đường đi có không quá đỉnh và có độ dài bằng độ dài đường đi ngắn nhất từ tới . Nếu thì đường đi chỉ gồm đỉnh .
Nếu có nhiều đường đi ngắn nhất, in ra đường đi bất kỳ.
Ràng buộc
- , .
- , , .
- , , , có đường đi từ tới mọi .
Subtasks
Điểm được tính theo từng test.
- số test đầu tiên: , .
- số test còn lại: không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 9 1 2 10 1 3 5 2 4 5 3 4 2 2 5 3 3 6 15 4 6 10 4 5 9 5 6 4 2 2 1 6 |
10 0 7 5 3 7 TU DINH 2 to 1: 2 1 TU DINH 2 to 6: 2 5 6 |
Từ đỉnh : tới đỉnh đi dài ; tới đỉnh đi dài . |
| 5 3 1 2 4 3 1 0 2 3 7 2 2 3 2 |
4 0 4 -1 -1 TU DINH 2 to 3: 2 1 3 TU DINH 2 to 2: 2 |
Ví dụ bổ sung (không có trong đề gốc). Tới đỉnh đi dài , ngắn hơn cạnh trực tiếp dài . Đỉnh và không có cạnh nào nên in . Với , đường đi chỉ gồm đỉnh . |
| 1 0 1 1 1 |
0 TU DINH 1 to 1: 1 |
Ví dụ bổ sung (không có trong đề gốc). Đồ thị không có cạnh nào. |
Bình luận