Hai tuyến đường
Đề bài
Mô tả
Cho thành phố (đánh số từ đến ) và tuyến đường sắt hai chiều. Mạng đường bộ được định nghĩa rất đơn giản: với mỗi cặp thành phố khác nhau và , tồn tại một con đường hai chiều giữa và khi và chỉ khi giữa và không có đường sắt.
Một con tàu và một chiếc xe buýt cùng xuất phát từ thành phố tại cùng một thời điểm. Cả hai đều có đích đến là thành phố . Mỗi lần di chuyển từ một thành phố sang một thành phố lân cận (theo đúng một đường sắt hoặc một con đường) đều mất chính xác giờ. Tàu chỉ được đi trên đường sắt, xe buýt chỉ được đi trên đường bộ. Mỗi phương tiện có thể đi qua một cạnh nhiều lần.
Để tránh va chạm tại các điểm giao đường sắt, tàu và xe buýt không được có mặt ở cùng một thành phố nào (ngoại trừ thành phố ) cùng một lúc.
Hãy xác định khoảng thời gian nhỏ nhất sao cho cả hai phương tiện đều đã đến thành phố , nghĩa là giá trị lớn nhất giữa thời điểm tàu đến và thời điểm xe buýt đến. Hai phương tiện được phép đến đích cùng lúc. Nếu có ít nhất một phương tiện không thể đến được thành phố , hãy in ra .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số thành phố và số đường sắt.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và (, ) cho biết có một đường sắt nối hai thành phố và . Đảm bảo giữa mỗi cặp thành phố có nhiều nhất một đường sắt.
Dữ liệu ra
In ra một số nguyên — khoảng thời gian nhỏ nhất theo yêu cầu, hoặc nếu không khả thi.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 1 3 3 4 |
2 | Tàu đi trong giờ; xe buýt đi (cả hai cạnh đều thuộc đường bộ vì không có đường sắt tương ứng) trong giờ. Hai phương tiện cùng đến thành phố — được phép. |
| 4 6 1 2 1 3 1 4 2 3 2 4 3 4 |
-1 | Mạng đường sắt là đồ thị đầy đủ nên không tồn tại con đường bộ nào, xe buýt không thể đến đích. |
| 5 5 4 2 3 5 4 5 5 1 1 2 |
3 | Tàu có cạnh trực tiếp – nên đến đích trong giờ. Xe buýt phải đi đường bộ dài cạnh, ví dụ . |
Bình luận