Robot cứu hỏa
Đề bài
Mô tả
Trên một mạng lưới giao thông có nút, các nút được đánh số từ đến và giữa hai nút bất kỳ có không quá một đường nối trực tiếp (đường nối trực tiếp là một đường hai chiều). Ta gọi đường đi từ nút đến nút là một dãy các nút và các đường nối trực tiếp có dạng:
trong đó là các nút trong mạng lưới giao thông, là đường nối trực tiếp giữa nút và (không có nút nào xuất hiện nhiều hơn một lần trong dãy trên, ).
Biết rằng mạng lưới giao thông được xét luôn có ít nhất một đường đi từ nút đến nút .
Một robot chứa đầy bình với đơn vị năng lượng, cần đi từ trạm cứu hoả đặt tại nút đến nơi xảy ra hoả hoạn ở nút , trong thời gian ít nhất có thể. Thời gian và chi phí năng lượng để robot đi trên đường nối trực tiếp từ nút đến nút tương ứng là và (). Robot chỉ có thể đi được trên đường nối trực tiếp từ nút đến nút nếu năng lượng còn lại trong bình chứa không ít hơn (). Nếu robot đi đến một nút có trạm tiếp năng lượng (một nút có thể có hoặc không có trạm tiếp năng lượng) thì nó tự động được nạp đầy năng lượng vào bình chứa với thời gian nạp coi như không đáng kể.
Yêu cầu: Hãy xác định giá trị nhỏ nhất để robot đi được trên một đường đi từ nút đến nút trong thời gian ít nhất.
Dữ liệu vào
- Dòng đầu tiên chứa một số nguyên dương ().
- Dòng thứ hai chứa số, trong đó số thứ bằng hoặc tương ứng ở nút có hoặc không có trạm tiếp năng lượng ().
- Dòng thứ ba chứa số nguyên dương () là số đường nối trực tiếp có trong mạng lưới giao thông.
- Dòng thứ trong số dòng tiếp theo chứa số nguyên dương , , , (; ) mô tả đường nối trực tiếp giữa nút và nút , thời gian và chi phí năng lượng tương ứng (như nhau theo cả hai chiều).
Hai số liên tiếp trên một dòng cách nhau ít nhất một dấu cách.
Dữ liệu ra
Ghi ra số nguyên dương tìm được.
Ràng buộc
- , .
- .
- Giữa hai nút có không quá một đường nối trực tiếp; luôn có đường đi từ nút đến nút .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 0 1 1 0 5 1 2 5 4 1 3 4 3 1 4 9 4 2 4 4 1 3 4 5 2 |
3 | Nút và nút có trạm tiếp năng lượng. Ba đường , , đều mất thời gian (ít nhất). Chúng cần lần lượt là , và . |
| 3 0 0 0 3 1 3 2 7 2 1 2 1 2 3 2 1 |
7 | Đường chỉ cần nhưng mất thời gian ; robot phải đi đường nhanh nhất (thời gian ) nên cần . |
Bình luận