trang chủ / đề bài / dhbb20_11_bonus

Phần thưởng

Đề bài

Mô tả

Vào ngày 19 tháng 5, là ngày sinh nhật Bác, thầy Phương sẽ tổ chức một buổi liên hoan và tặng thưởng cho các bạn có nhiều tiến bộ khi tham gia HCC. Có n bạn được mọi người đánh giá cao, các bạn này sẽ được nhận quà của thầy Phương. Thầy Phương đã chuẩn bị m món quà, đồng thời thu thập thông tin mong muốn nhận quà của từng bạn. Các bạn được đánh số từ 1 đến n, các món quà được đánh số từ 1 đến m, với bạn thứ i (i=1,2,…,n) và món quà j (j=1,2,…,m) thầy Phương có thông tin sij là một số nguyên dương đánh giá nguyện vọng của bạn i muốn nhận món quà j.

Mỗi một món quà sẽ được tặng cho đúng một bạn, mỗi bạn sẽ được nhận ít nhất một món quà. Gọi ri (i=1,2,…,n) là tổng đánh giá nguyện vọng của các món quà mà người i nhận được và w=min{r1,r2,…,rn}. Thầy Phương muốn tìm cách tặng quà để giá trị w đạt giá trị càng lớn càng tốt.

Yêu cầu: Cho n,m và các giá trị sij, em hãy giúp thầy Phương tìm phương án tặng quà để giá trị w đạt giá trị càng lớn càng tốt.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương n,m (n≤m);
  • Dòng thứ i (i=1,2,…,n) trong n dòng tiếp theo chứa m số nguyên dương si1,si2,…,sim. Các số có giá trị không vượt quá 1000.

Dữ liệu ra

In ra n dòng, dòng thứ i (i=1,2,…,n) có dạng:

  • Số đầu tiên ghi số pi là số món quà mà bạn i nhận được;
  • Tiếp theo là pi số là chỉ số những món quà mà bạn i được nhận. Các chỉ số được liệt kê theo thứ tự tăng dần.

Mỗi món quà phải xuất hiện ở đúng một dòng và pi≥1 với mọi i. Nếu có nhiều phương án, in ra một phương án bất kỳ.

Ràng buộc

  • 1≤n≤m.
  • 1≤sij≤1000.
  • Mọi test thỏa mãn một trong ba điều kiện của phần Subtasks; nói riêng m≤1200.

Subtasks

  • Có 30% số lượng test ứng với 30% số điểm thỏa mãn điều kiện: m,n≤12;
  • Có 40% số lượng test khác ứng với 40% số điểm thỏa mãn điều kiện: m≤1200, n=2;
  • Có 30% số lượng test còn lại ứng với 30% số điểm thỏa mãn điều kiện: m=n≤1200.

Chấm điểm

Với mỗi test, gọi wP là giá trị theo phương án mà thầy Phương tìm được (giá trị này em không được biết, chỉ dùng khi chấm; phương án của thầy Phương là tối ưu), w là giá trị theo phương án của em, khi đó em sẽ nhận được min{1,1000×w−999×wPwP} trên tổng số 1 điểm của test đó; nếu 1000×w<999×wP em sẽ nhận 0 điểm. Phương án không hợp lệ được 0 điểm.

Ví dụ

Input Output Giải thích
2 5
1 2 3 4 5
3 3 4 2 1
2 4 5
3 1 2 3
Bạn thứ nhất nhận hai món quà có chỉ số 4 và 5, bạn thứ hai nhận ba món quà có chỉ số 1,2,3. Khi đó r1=4+5=9, r2=3+3+4=10 và w=min{9,10}=9. Nếu wP=9 thì em sẽ được min{1,1000×9−999×99}=1 điểm.
3 3
5 1 4
6 2 1
7 3 2
1 3
1 1
1 2
Ví dụ bổ sung (không có trong đề gốc). Mỗi bạn nhận đúng một món quà: r1=4, r2=6, r3=3, w=3 là lớn nhất có thể. Nếu bạn 1 nhận món quà 1 (món bạn 1 thích nhất) thì phương án tốt nhất chỉ đạt w=2.

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