Bón Phân Đồng Cỏ
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
Có đồng cỏ được nối bởi con đường tạo thành một cây. Mỗi con đường tốn 1 giây để đi qua. Đồng cỏ có cỏ mọc với tốc độ đơn vị/giây (ban đầu tất cả bằng 0). Nông dân John bắt đầu tại đồng cỏ 1 và phải thăm tất cả các đồng cỏ để bón phân. Khi đến đồng cỏ có đơn vị cỏ, anh cần đơn vị phân bón (chỉ cần bón lần đầu thăm).
Tham số xác định FJ phải quay về đồng cỏ 1 () hay được kết thúc ở bất kỳ đâu ().
Hãy tìm thời gian tối thiểu và lượng phân bón tối thiểu cho thời gian đó.
Dữ liệu vào
- Dòng 1: Hai số nguyên và (, ).
- Dòng (): Hai số nguyên và (, ) — cha của đỉnh và tốc độ mọc cỏ.
Dữ liệu ra
Hai số nguyên cách nhau bởi dấu cách: thời gian tối thiểu và lượng phân bón tối thiểu cho thời gian đó.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 0 1 1 1 2 3 1 3 4 |
8 21 | Phải quay về gốc. DFS tối ưu tốn giây. Sắp xếp thứ tự thăm con tối ưu cho phân bón tổng 21. |
| 5 1 1 1 1 2 3 1 3 4 |
6 29 | Không cần quay về. Tiết kiệm được đường đi dài nhất, tổng 6 giây, phân bón 29. |
Bình luận