Cây Chuồng
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
4.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 quản lý chuồng bò () được nối với nhau bởi con đường tạo thành cấu trúc cây. Chuồng thứ chứa bó cỏ (). Tổng số bó cỏ chia hết cho .
Farmer John cần phân phối lại cỏ sao cho mỗi chuồng có số bó cỏ bằng nhau. Anh ta có thể ra lệnh vận chuyển cỏ giữa hai chuồng kề nhau. Mỗi lệnh chỉ định chuồng nguồn, chuồng đích, và số bó cỏ cần chuyển (không vượt quá số cỏ hiện có tại chuồng nguồn).
Hãy tìm số lệnh vận chuyển tối thiểu và đưa ra một cách thực hiện hợp lệ.
Dữ liệu vào
- Dòng 1: số nguyên .
- Dòng 2: số nguyên .
- dòng tiếp theo: mỗi dòng chứa hai số nguyên mô tả một cạnh.
Dữ liệu ra
- Dòng 1: số lệnh vận chuyển tối thiểu .
- dòng tiếp theo: mỗi dòng chứa ba số nguyên: chuồng nguồn, chuồng đích, số bó cỏ.
Ràng buộc
- Tổng chia hết cho
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 1 4 5 1 2 2 3 2 4 |
3 3 2 1 4 2 2 2 1 1 |
Tổng = 12, trung bình = 3. Chuyển 1 bó từ chuồng 3 sang 2, 2 bó từ chuồng 4 sang 2, rồi 1 bó từ chuồng 2 sang 1. |
Bình luận