Liệt kê các vùng liên thông

View as PDF

Submit solution

Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Vùng liên thông trong đồ thị là tập hợp các đỉnh mà từ một đỉnh bất kỳ có đường đi trực tiếp hoặc gián tiếp đến các đỉnh khác trong tập hợp đó. Cho đồ thị vô hướng có ~N~ đỉnh, ~M~ cạnh. Hãy liệt kê các vùng liên thông trong đồ thị. Trong mỗi vùng các đỉnh được sắp xếp thành dãy tăng. Mỗi vùng liên thông trên một hàng. Mỗi số cách nhau một dấu cách.

Dữ liệu vào gồm:

• Dòng 1: Ghi số nguyên ~N~ và ~M~ ~(M, N ≤ 3000)~.

• ~M~ dòng tiếp theo, mỗi dòng ghi số nguyên dương ~u~ và ~v~ thể hiện có đường đi giữa hai đỉnh ~u~ và ~v~ ~(u, v ≤ N)~.

Kết quả:

Gồm nhiều dòng là các vùng liên thông trong đồ thị. Trong mỗi vùng các đỉnh được sắp xếp thành dãy tăng. Mỗi số cách nhau một dấu cách, mỗi vùng liên thông trên một hàng.

Ví dụ
INPUT
12 7
1 2
2 5
2 6
6 10
3 4
9 11
9 12
OUTPUT
1 2 5 6 10
3 4
7
8
9 11 12

Comments

Please read the guidelines before commenting.


There are no comments at the moment.