Tư nhân hóa đường ở Treeland
Đề bài
Mô tả
Một đất nước gồm thành phố và con đường hai chiều, mỗi con đường nối hai thành phố khác nhau. Từ một thành phố bất kỳ có thể đi đến mọi thành phố còn lại — nghĩa là hệ thống đường tạo thành một cây.
Chính phủ muốn bán toàn bộ các con đường cho các công ty tư nhân. Mỗi con đường được giao cho đúng một công ty, và một công ty có thể sở hữu nhiều con đường.
Một thành phố bị coi là không tốt nếu có một công ty sở hữu từ hai con đường trở lên cùng đi vào thành phố đó. Nói cách khác, thành phố là tốt khi tất cả các con đường nối với nó thuộc về những công ty khác nhau.
Chính phủ muốn chọn một số nguyên — số lượng công ty tham gia — sao cho có thể giao mỗi con đường cho một công ty trong các công ty được đánh số từ đến , với số thành phố không tốt không vượt quá . Hãy tìm giá trị nhỏ nhất thỏa mãn điều kiện này và đưa ra một cách giao đường tương ứng.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số thành phố và số thành phố không tốt tối đa được phép.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên — con đường thứ nối hai thành phố và .
Dữ liệu ra
- Dòng đầu in ra số nguyên nhỏ nhất tìm được.
- Dòng thứ hai in ra số nguyên (), trong đó là công ty sở hữu con đường thứ .
Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
- , các con đường tạo thành một cây.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 3 1 1 4 1 2 |
1 1 1 1 |
Thành phố có bậc . Với , ta được phép để thành phố không tốt, nên chỉ cần công ty: thành phố không tốt, ba thành phố còn lại đều tốt. |
| 6 2 1 4 4 3 3 5 3 6 5 2 |
2 1 2 1 2 2 |
Cần công ty. Thành phố có bậc nên trở thành không tốt (hai đường màu ); số thành phố không tốt là . Với công ty thì không thể giữ số thành phố không tốt . |
Bình luận