Cho một đồ thị vô hướng có \(N\) đỉnh và \(M\) cạnh. Sử dụng thuật toán BFS để tìm chiều dài đường đi ngắn nhất (tính bằng số cạnh) giữa hai đỉnh \(S\) (đỉnh bắt đầu) và \(E\) (đỉnh kết thúc).
Input
- Dòng đầu tiên là hai số nguyên dương \(N\), \(M\), \(S\), \(E\) (\(1 \leq N \leq 10^5, 1 \leq M \leq 10^5\), \(1 \leq S, E \leq N\)).
- \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh nối giữa đỉnh \(u\) và đỉnh \(v\).
Output
Một dòng duy nhất chứa chiều dài đường đi ngắn nhất từ \(S\) đến \(E\). Nếu không có đường đi, in ra -1.
Example
Test 1
Input
5 5 1 5
1 2
1 3
2 4
2 5
3 4
Output
2
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.