#CT00008. Mạng dự phòng (Backup Network)
Mạng dự phòng (Backup Network)
Mạng dự phòng (Backup Network)
Phiên bản: Phước Hưng OJ Extended
Đề bài
Một mạng máy tính gồm nút và đường truyền hai chiều.
Đường truyền thứ nối hai nút và , có độ trễ .
Cần truyền một gói tin từ nút đến nút .
Trong toàn bộ hành trình, hệ thống dự phòng được phép kích hoạt nhiều nhất một lần trên đúng một đường truyền mà gói tin đi qua. Khi hệ thống dự phòng được kích hoạt trên đường truyền đó, độ trễ của lần đi qua đường truyền này được tính bằng .
Hãy tìm tổng độ trễ nhỏ nhất có thể để truyền gói tin từ nút đến nút .
Input
Dòng đầu tiên chứa hai số nguyên dương và , lần lượt là số nút và số đường truyền.
dòng tiếp theo, dòng thứ chứa ba số nguyên , , , mô tả một đường truyền hai chiều nối hai nút và với độ trễ .
Có thể tồn tại nhiều đường truyền nối cùng một cặp nút. Không có đường truyền nối một nút với chính nó.
Output
In ra một số nguyên duy nhất :
- nếu tồn tại đường đi từ nút đến nút , là tổng độ trễ nhỏ nhất có thể đạt được khi hệ thống dự phòng được sử dụng nhiều nhất một lần;
- nếu không tồn tại đường đi từ nút đến nút , in ra
-1.
Subtask
Trong tất cả các Subtask:
; ; ; ; .
- Subtask 1 — 0,8 điểm: ; .
- Subtask 2 — 0,8 điểm: Đồ thị là một cây.
- Subtask 3 — 1,4 điểm: Không có ràng buộc bổ sung.
Ví dụ
Input
5 6
1 2 8
2 5 8
1 3 3
3 4 3
4 5 10
2 4 2
Output
6
Giải thích
Có thể chọn đường đi:
Độ trễ của ba đường truyền lần lượt là , và .
Nếu kích hoạt hệ thống dự phòng khi đi qua đường truyền nối và , độ trễ của đường truyền này được tính bằng .
Tổng độ trễ khi đó là:
Không thể đạt được tổng độ trễ nhỏ hơn, nên đáp án là .
Liên quan
Trong các cuộc thi sau: