Cân Bằng Cây
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Farmer John có một cây có gốc với đỉnh (). Mỗi đỉnh có cha là và cần được gán một giá trị nguyên .
"Độ mất cân bằng" được định nghĩa là hiệu tuyệt đối lớn nhất giữa bất kỳ đỉnh và tổ tiên của nó.
Hãy gán giá trị cho các đỉnh sao cho độ mất cân bằng là nhỏ nhất.
Dữ liệu vào
- Dòng 1: Hai số nguyên (số test case) và
- Với mỗi test case:
- Dòng 1: Số nguyên
- Dòng 2: số nguyên
- dòng tiếp theo: Hai số nguyên và cho mỗi đỉnh
Dữ liệu ra
Với mỗi test case:
- Dòng 1: Độ mất cân bằng tối thiểu
- Nếu : Dòng 2 gồm số nguyên — một cách gán hợp lệ
Ràng buộc
- Tổng qua tất cả test case
- Test 1-5:
- Test 6-16:
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 0 3 1 1 0 100 1 1 6 7 5 1 2 3 4 6 6 1 6 1 6 1 6 5 5 3 1 1 0 10 0 1 9 10 |
3 1 4 |
Test 1: 3 đỉnh, gốc có , hai con có và . Gán tối ưu cho gốc là 4, độ mất cân bằng = . |
Bình luận