Hãy tưởng tượng, bạn là một công nhân đang thi hành tại thành phố Đà Lạt chiều tím mộng mơ. Ở đây, bạn phải đi lại giữa N công trình khác nhau để thực hiện việc thi công. Do thấy việc di chuyển quá nặng nhọc, bạn đã than phiền với sếp của bạn.
Để giảm tải năng lượng di chuyển của những công nhân, sếp của bạn đã đề ra M phương án xây dựng những con đường MỘT CHIỀU giữa các công trình. Về mặt toán học, phương án thứ i có thể biểu diễn dưới dạng u, v, w, khi đó bạn có thể:
Dữ liệu đảm bảo rằng giữa hai công trình chỉ có tối đa một phương án để xây đường, và không có phương án nào xây đường đi từ một công trình đến chính nó.
Đương nhiên, ai than phiền thì người đấy chịu, nên sếp yêu cầu bạn phải chọn lọc trong M phương án này. Hãy in ra một cách sử dụng các phương án, sao cho từ bất kì công trình nào, có thể đi đến các công trình còn lại, và chi phí xây dựng một con đường lớn nhất, là nhỏ nhất có thể.
Lưu ý: Có thể có nhiều đáp án khác nhau, bạn chỉ cần tìm ra một đáp án bất kì. Nếu không có cách sử dụng các phương án thỏa mãn, in ra một dòng duy nhất chứa số -1.
Dữ liệu vào Sao chép |
3 3 1 2 1 2 3 2 3 1 3 |
Dữ liệu ra Sao chép |
3 1 2 2 3 3 1 |
Dữ liệu vào Sao chép |
4 5 1 2 1 1 3 2 2 3 4 2 4 3 3 4 3 |
Dữ liệu ra Sao chép |
3 1 2 3 1 0 2 4 4 3 |
Dữ liệu vào Sao chép |
4 4 1 2 1 2 3 2 3 4 3 4 2 4 |
Dữ liệu ra Sao chép |
-1 |
Đây là hình vẽ mô tả đáp án ví dụ 1 và 2: