XÂY DỰNG ĐƯỜNG

Quốc gia ~ X ~ có ~ n ~ thành phố và ~ m ~ con đường nối giữa chúng. Bạn cần xây dựng thêm một số con đường mới sao cho luôn có đường đi giữa mọi cặp thành phố.

Nhiệm vụ của bạn alf tìm ra số lượng tối thiểu các con đường cần thiết và xác định các con đường nào cần được xây dựng.

Dữ liệu vào:

  • Dòng 1: Ghi hai số nguyên ~ n ~ và ~ m ~ là số lượng thành phố và con đường. Các thành phố được đánh số từ ~ 1, 2,…,n ~.
  • Tiếp theo là ~ m ~ dòng, mỗi dòng mô tả một con đường. Mỗi dòng chứa hai số nguyên ~ a ~ và ~ b ~ cho biết một con đường nối giữa hai thành phố ~ a ~ và ~ b ~.
  • Một con đường luôn nối hai thành phố khác nhau và có tối đa một con đường giữa hai thành phố bất kỳ.

Kết quả:

  • Dòng đầu tiên in ra một số nguyên ~ k ~ cho biết số lượng con đường cần xây thêm.
  • Sau đó, in ra ~ k ~ dòng, mỗi dòng mô tả một con đường mới. Nếu có nhiều giải pháp, bạn cần in ra giải pháp mà chỉ số thành phố được đưa ra theo thứ tự tăng dần và có thứ tự từ điển nhỏ nhất.

Ràng buộc:

  • ~ 1≤n≤10^5 ~
  • ~ 1≤m≤2×10^5 ~
  • ~ 1≤a,b≤n ~

Ví dụ:

Input

4 2
1 2
3 4 
Output
1
1 3 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nguyenvuquang (12/18)
  2. huy_notcoding (9/14)
  3. ilpnvm (9/18)
Trong 7 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. bichngoc (150/213)
Trong 30 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. tgtam2022 (150/369)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37713

Lưu Hải Phong - 2020
[email protected]