WORLDNET - Truyền dữ liệu
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 cụm mạng. Mỗi cụm mạng này được nối trực tiếp với một vài cụm mạng khác bằng đường truyền dữ liệu hai chiều. Hai cụm 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ố đường truyền rất quan trọng do nếu vì một nguyên nhân nào đó nó bị cắt đứt thì một số cặp dữ liệu từ có thể truyền dữ liệu cho nhau trở nên không thể truyền cho nhau nữa.

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 đường truyền quan trọng đó.

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ố xy (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 hai số a và b (a < b) thể hiện một đường truyền quan trọng. Các đường truyền này được liệt kê theo thứ tự từ điển từ bé đến lớn, ưu tiên các a nhỏ hơn trước và nếu a bằng nhau thì yêu tiên các đường truyền có b nhỏ hơn.

Ví dụ

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