|
|
Từ tập các bài có trên SPOJ (oi)
2304. Monkey island
Mã bài: NKTRAFIC
|
Sau khi phân chia ðất nước thành các thành phố, ðảo khỉ lại nảy sinh vấn ðề mới: phải ngãn chặn việc vận chuyển chuối! Ðảo khí có N thành phố ðánh số từ 1 ðến N nối với nhau bởi M ðường nối hai
chiều. Giữa hai thành phố có nhiều nhất một con ðường. Giữa hai thành phố bất kỳ có ít nhất một ðường ði (tạo bởi một hoặc nhiều con ðường). Ðảo khỉ có hai thủ ðô là thành phố 1 và thành phố N.
Gần ðây, việc vận chuyển chuối giữa hai thủ ðô tãng vọt. Ðể tấn công việc vận chuyển, tổng thống huy ðộng G binh lính, mỗi binh lính có thể ðặt tại vị trí bất kỳ trên một con ðường, có thể gần thành phố
tùy ý, nhưng không ðược nằm trong thành phố. Trong trường hợp có lệnh tấn công vào một trong hai thủ ðô, tất cả binh lính phải di chuyển ðến thủ ðô ðó. Các binh lính di chuyển với vận tốc không ðổi. Thời
gian cần thiết ðể huy ðộng một cuộc tấn công như vậy bằng khoảng cách lớn nhất từ các binh lính ðến một trong hai thủ ðô.
Yêu cầu: xác ðịnh một cách bố trí các binh lính sao cho mọi ðường ði từ thủ ðô này ðến thủ ðô kia ðều ði qua ít nhất một con ðường có binh lính gác và thời gian huy ðộng tấn công trong trường hợp xấu
nhất là nhỏ nhất.
Dữ liệu
- Dòng ðầu tiên chứa 3 số nguyên N, M, G cách nhau bởi khoảng trắng.
- Mỗi dòng trong số M dòng sau chứa 3 số nguyên a, b, c cách nhau bởi khoảng trắng, cho biết có một ðường nối hai chiều giữa thành phố a và b với ðộ dài c.
Kết qủa
In ra một số nguyên duy nhất là thời gian nhỏ nhất ðể tất cả các binh lính có thể di chuyển ðến một thủ ðô, với ðúng một chữ số thập phân. Nếu không có lời giải, in ra -1.
Giới hạn
- 2 < N < 155
- 2 < M < 5055
- 0 < ðộ dài của một con ðường < 1024
- 2 < G < 4096
Ví dụ
Dữ liệu:
6 6 2
1 2 1
2 3 2
3 6 1
1 4 1
4 5 3
5 6 1
Kết qủa
2.5
| Được gửi lên bởi: | Ngô Minh Ðức |
| Ngày: | 2008-01-06 |
| Thời gian chạy: | 1s
|
| Giới hạn mã nguồn: | 50000B |
| Ngôn ngữ cho phép: | Tất cả ngoại trừ: AWK CLOJ ERL F# GO JS PERL 6 PYTH 3.1.2 SCALA SED TCL |
| Nguồn bài: | Campion 2005 |
|
|
|
|