BOI 2023 - Minequake

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 768M Input: bàn phím Output: màn hình

Những xưởng bia nhỏ hoàn toàn tự động được lắp đặt trong các khu mỏ bỏ hoang của người lùn ở Moravia thực sự là minh chứng cho sự khéo léo và tài nghệ kỹ thuật của họ! Tiếc thay, đôi khi động đất làm rung chuyển các khu mỏ, khiến các ống dẫn và phễu bị lệch, làm thứ chất lỏng quý giá tràn xuống sàn. Với cương vị Người bảo hộ tối cao về an toàn xưởng bia, bạn có trách nhiệm tắt máy móc trong mọi gian hầm khi xảy ra động đất.

Việc đi qua các đường hầm mất thời gian, nên bạn chắc chắn sẽ đến muộn ở nhiều máy. Điều này không thể tránh khỏi, nhưng bạn muốn giảm thiểu tổng lượng chất lỏng bị tràn.

Khu mỏ của người lùn gồm \(n\) gian hầm được nối bởi \(n-1\) đường hầm. Toàn bộ hệ thống liên thông, nghĩa là có thể đi từ bất kỳ gian hầm nào đến mọi gian hầm khác. Đi qua một đường hầm mất \(1\) đơn vị thời gian. Việc tắt máy móc và di chuyển bên trong một gian hầm không mất thời gian. Tại mỗi gian hầm, nếu tắt máy móc ở thời điểm \(t\) kể từ khi động đất xảy ra thì có \(t\) lít chất lỏng bị tràn.

Chỉ có đúng một trận động đất, tác động đồng thời đến tất cả các gian hầm, và bạn không được tắt bất kỳ máy nào trước khi động đất xảy ra. Bạn có thể bắt đầu ở bất kỳ gian hầm nào.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên \(n\), là số gian hầm. Các gian hầm được đánh số từ \(1\) đến \(n\).

\(n-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\)\(v\) cách nhau bằng dấu cách, thỏa mãn \(1\le u<v\le n\), cho biết có một đường hầm nối gian \(u\) với gian \(v\).

Dữ liệu ra

In một số nguyên duy nhất: lượng chất lỏng bị tràn ít nhất, tính bằng lít.

Ràng buộc

  • \(1\le n\le 10^5\).
  • Hệ thống gồm \(n\) gian hầm và \(n-1\) đường hầm, và liên thông.

Phân nhóm

Các bộ kiểm thử được chia thành các nhóm, mỗi nhóm có một số điểm. Để nhận được điểm của một nhóm, chương trình phải giải đúng tất cả các bộ kiểm thử trong nhóm đó. Điểm cuối cùng là điểm cao nhất của một lần nộp bài.

  1. \(18\) điểm: không có gian hầm nào nối với hơn hai đường hầm.
  2. \(19\) điểm: có nhiều nhất một gian hầm nối với hơn hai đường hầm.
  3. \(20\) điểm: \(n\le 10\).
  4. \(21\) điểm: \(n\le 1000\).
  5. \(22\) điểm: không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
3
1 2
2 3
Output
3
Giải thích

Trong ví dụ 1, khu mỏ có dạng như sau:

Nếu bắt đầu ở gian \(2\) và đi theo thứ tự \(2,1,2,3\), bạn có thể tắt máy móc tại thời điểm \(0\) ở gian \(2\), thời điểm \(1\) ở gian \(1\) và thời điểm \(3\) ở gian \(3\). Tổng cộng có \(0+1+3=4\) lít chất lỏng bị tràn. Nếu thay vào đó bắt đầu ở gian \(1\) và đi theo thứ tự \(1,2,3\), tổng lượng chất lỏng bị tràn là \(0+1+2=3\) lít, tốt hơn phương án trước.

Ví dụ 2

Input
4
1 2
1 3
1 4
Output
7

Ví dụ 3

Input
1
Output
0

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: