Ghép cặp trên cây
Đề bài
Mô tả
Một khu dân cư gồm ngôi nhà đánh số từ đến và con đường hai chiều. Con đường thứ nối hai nhà và , đi qua nó mất đơn vị thời gian. Giữa hai ngôi nhà bất kỳ luôn có đúng một đường đi không lặp cạnh, nói cách khác hệ thống nhà và đường tạo thành một cây.
Có cặp bạn thân cần được xếp vào các ngôi nhà: mỗi người ở đúng một ngôi nhà và mỗi ngôi nhà có đúng một người. Với một cách xếp, gọi là tổng thời gian đi trên đường đi ngắn nhất giữa hai ngôi nhà của cặp thứ .
Hãy tính hai giá trị:
- — giá trị nhỏ nhất có thể của ;
- — giá trị lớn nhất có thể của .
Hai giá trị này được tính độc lập với nhau: cách xếp đạt và cách xếp đạt không nhất thiết phải giống nhau.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên — số bộ dữ liệu.
- Với mỗi bộ dữ liệu:
- Dòng đầu chứa số nguyên — số cặp bạn thân.
- dòng tiếp theo, dòng thứ chứa ba số nguyên , , mô tả con đường thứ .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra trên một dòng hai số nguyên và cách nhau bởi một dấu cách.
Ràng buộc
- và
- Các con đường trong mỗi bộ dữ liệu luôn tạo thành một cây.
- Tổng của trên tất cả các bộ dữ liệu trong một file không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 1 2 3 3 2 4 2 4 3 4 5 6 5 6 5 2 1 2 1 1 3 2 1 4 3 |
15 33 6 6 |
Bộ 1: ghép , , cho tổng là nhỏ nhất; ghép , , cho tổng là lớn nhất. Bộ 2: cây hình sao với tâm là nhà . Cả ba cách ghép đều cho tổng , nên . |
| 1 2 1 2 1 2 3 2 3 4 3 |
4 8 | Đường thẳng . Ghép và cho tổng là nhỏ nhất; ghép và cho tổng là lớn nhất. Con đường giữa nhà và nhà không nằm trên đường đi của cặp nào trong cách ghép thứ nhất, nhưng nằm trên đường đi của cả hai cặp trong cách ghép thứ hai. |
Bình luận