Chia vương quốc
Vương quốc của Vasya gồm thành phố và con đường hai chiều giữa các thành phố. Hai thành phố thuộc cùng một tỉnh nếu và chỉ nếu có thể đi từ thành phố này sang thành phố kia chỉ bằng các con đường (mỗi tỉnh tương ứng với một thành phần liên thông của đồ thị).
Vasya muốn xây dựng thêm các đường hầm (cũng là cạnh hai chiều) sao cho sau khi xây xong, toàn bộ vương quốc trở thành liên thông (tức là từ bất kỳ thành phố nào cũng có thể đến được mọi thành phố khác bằng các con đường và đường hầm). Có hai ràng buộc về đường hầm:
- Mỗi thành phố được nối với không quá một đường hầm.
- Mỗi tỉnh được nối với không quá đường hầm.
Tuy nhiên, mạng lưới đường hầm thoả mãn các ràng buộc trên có thể không tồn tại với cấu hình hiện tại. Vasya có thể xây thêm các con đường mới giữa các thành phố nhằm hợp nhất các tỉnh (đường mới có thể nối hai thành phố thuộc các tỉnh khác nhau, biến chúng thành cùng một tỉnh). Hãy xác định số con đường mới tối thiểu cần xây để mạng lưới đường hầm thoả mãn ràng buộc tồn tại.
Dữ liệu vào
- Dòng đầu tiên chứa ba số nguyên , và .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , — một con đường nối hai thành phố và .
Không có con đường nào nối một thành phố với chính nó, và giữa hai thành phố bất kỳ có tối đa một con đường.
Dữ liệu ra
In ra một số nguyên duy nhất — số con đường mới tối thiểu cần xây.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 2 1 2 2 3 3 1 |
0 | Chỉ có một tỉnh duy nhất, không cần thêm đường hay đường hầm. |
| 4 2 2 1 2 3 4 |
0 | Hai tỉnh và . Xây một đường hầm giữa thành phố 1 và 3 là đủ. |
| 4 0 2 | 1 | Bốn tỉnh, mỗi tỉnh một thành phố nên mỗi tỉnh chỉ có thể nối tối đa đường hầm. Cần xây thêm 1 con đường (ví dụ nối –) rồi dùng đường hầm – và –. |
Bình luận