GLOBALNET - Truyền dữ liệu 2
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

Có một nhà nghiên cứu đang nghiên cứu về việc truyền dữ liệu mạng trên thế giới. Nhà nghiên cứu này nhận thấy rằng trên thế giới có rất nhiều nút mạng. Mỗi nút mạng này được nối trực tiếp với một vài nút mạng khác bằng đường truyền dữ liệu hai chiều. Hai nút mạng được gọi là có thể truyền dữ liệu cho nhau nếu nó được nối trực tiếp hoặc được nối gian tiếp thông qua một số đường truyền.

Nhà nghiên cứu này nhận thấy rằng một số nút rất quan trọng do nếu vì một nguyên nào đó nó bị hỏng và dữ liệu không thể thông qua nó được thì một số cặp nút mạng khác từ có thể truyền dữ liệu cho nhau trở nên không thể truyền cho nhau nữa.

Một cụm các nút mạng kết nối được với nhau được gọi là bề vững nếu chỉ xét các đường truyền giữa chúng thì khi một nút mạng bị hỏng bất kỳ thì phần còn lại vẫn truyền được dữ liệu cho nhau.

Bạn hãy viết một chương trình giúp nhà nghiên cứu này liệt kê ra các nút mạng quan trọng đó và tìm cụm mạng bền vững có bao nhiều nút mạng nhất.

Dữ liệu vào:

- Dòng đầu ghi hai số n (1 ≤ n ≤ 10000) và m (1 ≤ m ≤ 1000000) là số cụm mạng và số đường truyền dữ liệu hai chiều nối giữa chúng.

- Trong m dòng tiếp theo, mỗi dòng ghi hai số x và y (1 ≤ x, y ≤ n) thể hiện một đường đi hai chiều nối giữa chúng. Giữa hai cụm mạng bất kỳ có nhiều nhất một đường truyền nối giữa chúng.

Dữ liệu ra:

- Dòng đầu ghi số K là số đường truyền quan trọng.

- Trong K dòng tiếp theo mỗi dòng ghi số a thể hiện một nút mạng quan trọng. Các nút truyền này được liệt kê theo thứ tự từ điển từ bé đến lớn

Ví dụ

  • input
    6 7
    1 2
    2 3
    3 1
    4 3
    4 5
    5 6
    6 4
    output
    2 3
    3
    4
Back to Top