#1624. Thời gian duyệt (TINOUT)

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ị vô hướng liên thông gồm N đỉnh và M cạnh. Thực hiện thuật toán DFS bắt đầu từ đỉnh 1. Hãy xác định thời điểm bắt đầu duyệt ( T_{in} ) và thời điểm kết thúc duyệt ( T_{out} ) của từng đỉnh. Quy ước:

  • Bộ đếm thời gian bắt đầu từ 1.
  • Mỗi khi thăm một đỉnh mới hoặc duyệt xong một đỉnh, thời gian tăng lên 1 đơn vị.
  • Ưu tiên duyệt đỉnh 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, N-1 \le M \le 10000 ).
  • M dòng tiếp theo, mỗi dòng chứa hai số nguyên u, v .

Kết quả:

  • Gồm N dòng. Dòng thứ i in ra hai số nguyên là T_{in} T_{out} của đỉnh i .

Ví dụ:

Dữ liệu:

3 2
1 2
2 3

Kết quả:

1 6
2 5
3 4

Giải thích: Vào 1 (time 1) -> Vào 2 (time 2) -> Vào 3 (time 3) -> Xong 3 (time 4) -> Xong 2 (time 5) -> Xong 1 (time 6))