#1623. Duyệt theo chiều sâu (DFS)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một đồ thị có hướng gồm N đỉnh và M cung. Xuất phát từ đỉnh 1, hãy in ra thứ tự các đỉnh được thăm bằng thuật toán tìm kiếm theo chiều sâu (DFS). Quy ước: Khi đứng ở một đỉnh, ưu tiên thăm các đỉnh kề có chỉ số nhỏ hơn trước.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên N, M ( 1 \le N \le 1000, 0 \le M \le 10000 ).
  • M dòng tiếp theo, mỗi dòng chứa hai số nguyên u, v mô tả một cung một chiều từ u đến v .

Kết quả:

  • Một dòng duy nhất liệt kê các đỉnh theo thứ tự duyệt DFS. Nếu có đỉnh không thể đến được từ đỉnh 1, không in đỉnh đó.

Ví dụ:

Dữ liệu:

5 5
1 2
1 4
2 3
4 5
2 5

Kết quả:

1 2 3 5 4