trang chủ / đề bài / dhbb18_knapsack

Xếp ba lô

Đề bài

Mô tả

Trong chuyến công tác nhiều ngày, giáo sư J đã thu thập được n mẫu vật. Mẫu vật thứ i (i=1,2,…,n) có khối lượng mi gam và được giáo sư đánh giá có mức độ quan trọng là vi. Giáo sư đã chuẩn bị một túi xách tay có thể chứa không quá W1 gam và một va li có thể chứa không quá W2 gam. Vấn đề mà giáo sư gặp phải là lựa chọn những mẫu vật và xếp chúng vào túi hay va li thỏa mãn các yêu cầu sau:

  1. Tổng khối lượng các mẫu vật đựng trong túi xách không vượt quá W1;
  2. Tổng khối lượng các mẫu vật đựng trong va li không vượt quá W2;
  3. Tổng mức độ quan trọng của các mẫu vật được chọn là lớn nhất.

Yêu cầu: Cho W1,W2 và thông tin về n mẫu vật, hãy đưa ra cách lựa chọn và xếp các mẫu vật thỏa mãn yêu cầu của giáo sư. Nếu có nhiều cách xếp đạt tổng mức độ quan trọng lớn nhất, in ra một cách bất kỳ.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên dương n,W1,W2 (W1≤5000; W1<W2≤50000);
  • Dòng thứ i trong n dòng tiếp theo mô tả mẫu vật thứ i gồm hai số nguyên dương mi,vi (mi≤W2; vi≤5).

Dữ liệu ra

In ra một dòng chứa n số mô tả cách lựa chọn và xếp các mẫu vật. Cụ thể, số thứ i bằng 0 nếu mẫu vật thứ i không được chọn, bằng 1 nếu được chọn và xếp vào túi xách, bằng 2 nếu được chọn và xếp vào va li.

Ràng buộc

  • 1≤n≤1000; nếu n>50 thì mọi mẫu vật có mức độ quan trọng như nhau;
  • 1≤W1≤5000, W1<W2≤50000;
  • 1≤mi≤W2, 1≤vi≤5.

Subtasks

  • Có 40% số test ứng với 40% số điểm của bài có n≤10;
  • Có 30% số test khác ứng với 30% số điểm của bài có n≤50 và các mẫu vật có khối lượng là bội của 100;
  • Có 15% số test khác ứng với 15% số điểm của bài có n≤50;
  • Có 15% số test khác ứng với 15% số điểm của bài có n≤1000 và các mẫu vật có mức độ quan trọng như nhau.

Ví dụ

Input Output Giải thích
5 1000 2000
500 2
600 2
900 5
750 5
700 3
2 0 1 2 2 Túi xách chứa mẫu vật 3 (900≤1000 gam), va li chứa các mẫu vật 1,4,5 (500+750+700=1950≤2000 gam). Tổng mức độ quan trọng là 5+2+5+3=15, lớn nhất có thể.
5 8 9
6 5
9 1
1 4
3 2
7 1
2 0 1 2 1 Ví dụ bổ sung (không có trong đề gốc). Túi xách chứa các mẫu vật 3,5 (1+7=8 gam), va li chứa các mẫu vật 1,4 (6+3=9 gam), tổng mức độ quan trọng 4+1+5+2=12. Mẫu vật 2 nặng 9 gam chỉ vừa va li nhưng chỉ có mức độ quan trọng 1.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0