trang chủ / bài tập / mashwtank

Mashmokh và Bể Nước

Đề bài

Mô tả

Cho một cây có gốc gồm m đỉnh, đánh số từ 1 đến m, đỉnh 1 là gốc. Mỗi đỉnh có một bể nước, ban đầu tất cả đều rỗng.

Bạn có k lít nước và p đồng. Trò chơi diễn ra như sau:

  • Bước chuẩn bị: chọn không quá k đỉnh không phải gốc và đổ chính xác 1 lít nước vào mỗi đỉnh được chọn.
  • Sau đó lặp lại các bước dưới đây cho đến khi không còn nước trong cây:
    1. Mở cửa tất cả các bể. Sau đó chọn một số đỉnh không phải gốc để đóng cửa trong bước này. Nếu một bể chứa w lít nước bị đóng cửa, bạn phải trả w đồng.
    2. Sắp xếp các đỉnh theo độ sâu không giảm: x1,x2,,xm (với x1 là gốc). Lần lượt xét từng đỉnh trong danh sách:
      • Đỉnh x1 (gốc): toàn bộ nước trong gốc được lấy ra.
      • Đỉnh xi với i>1: nếu cửa của xi đang đóng thì bỏ qua; ngược lại, toàn bộ nước trong bể của xi chảy về bể của cha (kể cả khi cửa của cha đang đóng).

Giả sử trò chơi kết thúc sau l bước, và wi là số lít nước có trong bể gốc sau bước thứ i. Bạn thắng max(w1,w2,,wl) đồng. Hỏi giá trị lớn nhất bạn có thể thắng được?

Lưu ý: số đồng dùng để đóng cửa được tính riêng cho mỗi bước — nếu cùng một bể bị đóng trong nhiều bước, bạn phải trả mỗi bước. Tổng số đồng dùng trong cả trò chơi không được vượt quá p.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên m, k, p.
  • m1 dòng tiếp theo, mỗi dòng chứa hai số nguyên ai, bi — một cạnh của cây.

Dữ liệu ra

In ra một số nguyên duy nhất — đáp án bài toán.

Ràng buộc

  • 2m105
  • 0k,p109
  • 1ai,bim, aibi
  • Dữ liệu vào luôn đảm bảo tạo thành một cây với gốc tại đỉnh 1.

Ví dụ

Input Output Giải thích
10 2 1
1 2
1 3
3 4
3 5
2 6
6 8
6 7
9 8
8 10
2 Đổ 1 lít vào đỉnh 3 và đỉnh 4 (độ sâu 12). Bước 1: đóng cửa đỉnh 3 (tốn 1 đồng), nước từ đỉnh 4 chảy về đỉnh 3. Bước 2: mở tất cả cửa, đỉnh 32 lít chảy về gốc. Đáp án bằng 2.
5 1000 1000
1 2
1 3
3 4
3 5
4 Có thể đổ nước vào cả 4 đỉnh không phải gốc và sắp xếp để gốc nhận 4 lít trong cùng một bước.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0