Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

BFS cơ bản

Dễ DFS BFS

  • 100 Điểm
  • 47% Tỉ lệ AC
  • 7 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

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

Chưa có bình luận nào.