Santa Clauses và giải bóng đá
Đề bài
Mô tả
Đất nước Treeland gồm thành phố được nối bởi con đường hai chiều sao cho từ bất kỳ thành phố nào cũng đi được tới mọi thành phố khác (mạng lưới tạo thành một cây).
Sắp tới có một giải bóng đá với đội đến từ thành phố khác nhau. Ở vòng đầu, các đội được chia thành cặp. Mỗi cặp thi đấu hai trận: một trận ở thành phố quê nhà của đội thứ nhất và một trận ở thành phố quê nhà của đội thứ hai.
Ban tổ chức cần chọn ra một số thành phố để bố trí chỗ ở cho các đội, và muốn dùng càng ít thành phố càng tốt. Ràng buộc:
- Nếu một đội thi đấu ở hai thành phố và thì đội đó phải ở tại một thành phố nằm trên đường đi ngắn nhất giữa và (có thể là chính hoặc ).
- Hai đội trong cùng một cặp phải ở tại cùng một thành phố.
Hãy chia đội thành cặp và chọn số thành phố bố trí chỗ ở nhỏ nhất có thể là , sao cho mỗi cặp ở tại một thành phố nằm trên đường đi giữa hai quê nhà của cặp đó.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và cho biết có một con đường nối thành phố và .
- Dòng cuối chứa số nguyên phân biệt , trong đó là quê nhà của đội thứ .
Dữ liệu ra
- Dòng đầu in ra số nguyên dương : số thành phố ít nhất cần dùng để bố trí chỗ ở.
- Dòng thứ hai in ra số phân biệt : chỉ số các thành phố được chọn để bố trí chỗ ở.
- dòng tiếp theo, dòng thứ chứa ba số , , : và là quê nhà của hai đội trong cặp thứ , còn là thành phố mà cặp đó ở. Mỗi số trong phải xuất hiện đúng một lần trong toàn bộ các và . Mỗi phải thuộc .
Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
- ,
- , các phân biệt.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 2 1 2 1 3 2 4 2 5 3 6 2 5 4 6 |
1 2 2 4 2 5 6 2 |
Có thể bố trí tất cả các đội tại thành phố 2, vì 2 nằm trên đường đi ngắn nhất giữa mọi cặp thành phố trong . Cặp và cặp đều ở tại thành phố 2. |
| 10 5 2 6 2 1 7 2 4 6 7 10 4 3 3 5 9 6 8 7 10 9 2 7 8 5 6 1 3 4 |
1 2 2 6 2 7 9 2 8 4 2 10 3 2 1 5 2 |
Toàn bộ 10 đội ở tại thành phố 2. Mỗi cặp có thành phố 2 nằm trên đường đi giữa hai quê nhà. |
Bình luận