Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
HIWAY - Hai đường đi |
Một mạng giao thông gồm N nút giao thông, và có M đường hai chiều nối một số cặp nút, thông tin về một đường gồm ba số nguyên dương u, v là tên hai nút đầu mút của đường, và l là độ dài đoạn đường đó. Biết rằng hai nút giao thông bất kì có không quá 1 đường hai chiều nhận chúng làm hai đầu mút.
Cho hai nút giao thông s và f, hãy tìm hai đường đi nối giữa s với f sao cho hai trên hai đường không có cạnh nào được đi qua hai lần và tổng độ dài 2 đường đi là nhỏ nhất.
Input
- Dòng đầu ghi N, M (N ≤ 100)
- Dòng thứ 2 ghi hai số s, f.
- M dòng tiếp theo, mỗi dòng mô tả một đường gồm ba số nguyên dương u, v, l.
Output
- Dòng đầu ghi T là tổng độ dài nhỏ nhất tìm được hoặc -1 nếu không tìm được.
- Nếu tìm được, hai dòng sau, mỗi dòng mô tả một đường đi gồm: số đầu là số nút trên đường đi này, tiếp theo là dãy các nút trên đường đi bắt đầu từ s, kết thúc tại f.
Chú ý: Phạm vi tính toán trong vòng Longint.
Example
Input: 5 8 1 5 1 2 1 1 4 8 2 3 5 2 4 1 3 5 1 4 3 8 4 5 1 1 3 1 Output: 5 3 1 3 5 4 1 2 4 5
Được gửi lên bởi: | Nguyen Dinh Tu |
Ngày: | 2006-09-14 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET |
hide comments
|
|||||
2011-07-13 19:09:51 NTQ
PS cho em hỏi sao em bị SIGSSEV vậy, chạy ở máy thì ko sao. Hix |
|||||
2010-08-15 12:43:15 vn_army
p/s cho xin test cuối cái chẳng hiểu sao tle trong khi độ phức tạp là O(m * n + m log n ) |