in đường đi

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bài Toán: Tìm đường đi trong đồ thị bằng DFS

Mô tả bài toán:

Cho một đồ thị vô hướng ~G = (V, E)~, trong đó:

  • ~V~ là tập hợp ~N~ đỉnh ~(1 ≤ N ≤ 1000)~.
  • ~E~ là tập hợp M cặp cạnh ~(1 ≤ M ≤ 10^5)~, mỗi cạnh nối hai đỉnh trong đồ thị.

Hãy tìm một đường đi từ đỉnh ~S~ đến đỉnh ~T~ sử dụng thuật toán DFS (Duyệt theo chiều sâu).

Dữ liệu vào:
  • Dòng đầu tiên chứa bốn số nguyên ~N~ ~M~ ~S~ ~T~ (số đỉnh, số cạnh, đỉnh xuất phát, đỉnh kết thúc).
  • ~M~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~u~ ~v~ biểu thị có cạnh nối giữa đỉnh ~u~ và ~v~.
Dữ liệu ra:
  • Nếu tìm thấy đường đi, in ra danh sách các đỉnh trên đường đi từ ~S~ đến ~T~, ngăn cách bằng dấu "->".
  • Nếu không tìm thấy, in NO.
Ví dụ:

Input:

6 7 1 6
1 2
1 3
2 4
3 5
4 6
5 6
3 4

Output:

1 -> 3 -> 4 -> 6

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    hiepmusic  đã bình luận lúc 5, Tháng 3, 2025, 7:51

    quas khos