Thầy K có sở thích đi du lịch vào cuối tuần. Cứ cuối tuần, thầy K lại chọn đi du lịch từ thành phố S đến thành phố D trong một đất nước. Nhưng, mọi con đường nối liền thành phố này với thành phố khác là con đường một chiều, tức là người ta chỉ có thể di chuyển từ thành phố này sang thành phố khác chứ không phải theo hướng ngược lại. Vì là một nhà thiết kế xây dựng, thầy K muốn thực hiện những điều sau:
1. Chuyển đổi một số lượng nhất định các con đường hiện có sang đường hai chiều
2. Nếu bằng cách thứ 1 không thể tạo ra một con đường từ thành phố S đến thành phố D, thì thầy K phải Xây dựng một con đường mới hoàn toàn nối thành phố S đến thành phố D
Tổng chi phí cho việc chuyển đổi các con đường một chiều thành các con đường hai chiều, sẽ ít tốn kém hơn so với việc xây dựng một con đường mới. Bây giờ hãy tìm số lượng con đường tối thiểu phải chuyển thành con đường hai chiều, nếu không thể, hãy đưa ra -1
Input
Với mỗi test, đưa ra số lượng con đường tối thiểu chuyển đổi thành đường hai chiều, để có đường đi từ S đến D. Nếu phải xây dựng con đường mới hoàn toàn, thì đưa ra -1
.Giới hạn:
Input | Output |
1
7 7 1 2 2 4 1 3 5 3 5 6 6 4 7 5 1 7 |
2 |
1
10 9 1 2 2 4 1 3 5 3 5 6 6 4 7 5 9 10 10 8 1 10 |
-1 |
Bạn có thể đơn giản thực hiện các con đường hai chiều từ thành phố 5 đến 3 và từ thành phố 7 đến 5. Vì vậy, câu trả lời tối thiểu là 2
Test số 2:Bạn không thể cải tạo con đường hiện có để tìm ra đường đi từ 1 đến 10. Vì vậy, bạn cần phải xây dựng một con đường mới. Do đó câu trả lời là -1.