[CSES 1685] New Flight Routes

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Có ~n~ thành phố và ~m~ kết nối chuyến bay giữa chúng. Nhiệm vụ của bạn là thêm các chuyến bay mới sao cho có thể đi từ bất kỳ thành phố nào đến bất kỳ thành phố nào khác. Số lượng chuyến bay mới tối thiểu cần thêm là bao nhiêu?

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~: số lượng thành phố và chuyến bay. Các thành phố được đánh số ~1,2,\dots,n~.

Sau đó, có ~m~ dòng mô tả các chuyến bay. Mỗi dòng có hai số nguyên ~a~ và ~b~: có một chuyến bay từ thành phố ~a~ đến thành phố ~b~. Tất cả các chuyến bay đều là chuyến bay một chiều.

Kết quả

Đầu tiên in ra một số nguyên ~k~: số lượng chuyến bay mới cần thêm. Sau đó, in ra ~k~ dòng mô tả các chuyến bay mới. Bạn có thể in bất kỳ lời giải hợp lệ nào.

Giới hạn

  • ~1 \le n \le 10^5~
  • ~1 \le m \le 2 \cdot 10^5~
  • ~1 \le a,b \le n~

Ví dụ

Dữ liệu vào:

4 5
1 2
2 3
3 1
1 4
3 4

Kết quả:

1
4 2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.