Xây Đường
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Byteland có thành phố và con đường hai chiều. Hãy tìm số con đường tối thiểu cần xây thêm để tất cả các thành phố được kết nối với nhau (có thể đi từ bất kỳ thành phố nào đến bất kỳ thành phố nào).
Dữ liệu vào
- Dòng 1: hai số nguyên và .
- dòng tiếp theo: mỗi dòng gồm hai số nguyên và — hai đầu của một con đường.
Dữ liệu ra
- Dòng 1: số nguyên — số con đường cần xây thêm.
- dòng tiếp theo: mỗi dòng gồm hai số nguyên — hai thành phố nối bởi con đường mới.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 1 2 3 4 |
1 2 3 |
Hai thành phần {1,2} và {3,4} — cần 1 đường nối. |
| 5 0 | 4 1 2 2 3 3 4 4 5 |
5 thành phố biệt lập — cần 4 đường. |
Bình luận