Chạy bộ buổi sáng

Đề bài

Mô tả

Có một đường chạy với n+1 trạm kiểm soát được đánh số 0,1,,n. Mỗi vận động viên xuất phát ở trạm 0 và về đích ở trạm n, đi lần lượt qua tất cả các trạm theo thứ tự (từ trạm i1 sang trạm i).

Giữa hai trạm liền kề i1i có đúng m con đường khác nhau; con đường thứ j có độ dài bi,j. Có m vận động viên. Mỗi cặp trạm liền kề, mỗi con đường phải được đúng một vận động viên chạy qua. Nói cách khác, ở mỗi chặng i, ta phân phối m con đường cho m vận động viên (mỗi người một con đường).

Nếu một vận động viên chạy các con đường có độ dài l1,l2,,ln (ở các chặng 1,2,,n) thì độ mệt của người đó bằng mini=1nli, tức con đường ngắn nhất mà người đó đã chạy.

Hãy sắp xếp việc phân phối các con đường sao cho tổng độ mệt của m vận động viên là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa số lượng bộ test t.
  • Với mỗi bộ test:
    • Dòng đầu chứa hai số nguyên nm.
    • n dòng tiếp theo, dòng thứ i chứa m số nguyên bi,1,bi,2,,bi,m.

Dữ liệu ra

Với mỗi bộ test, in ra n dòng. Dòng thứ i chứa m số: độ dài các con đường mà vận động viên 1,2,,m chạy ở chặng i. Các số trên dòng thứ i phải là một hoán vị của bi,1,,bi,m.

Nếu có nhiều cách đạt tổng độ mệt nhỏ nhất, in ra một cách bất kỳ.

Ràng buộc

  • 1t10000
  • 1n,m100
  • 1bi,j109
  • Tổng của n·m trên tất cả các bộ test không vượt quá 104.

Ví dụ

Input Output Giải thích
2
2 3
2 3 4
1 3 5
3 2
2 3
4 1
3 5
2 3 4
5 3 1
2 3
4 1
3 5
Bộ test 1: tổng độ mệt =min(2,5)+min(3,3)+min(4,1)=2+3+1=6. Ba giá trị nhỏ nhất toàn lưới là 1,2,3, tổng bằng 6. Bộ test 2: tổng độ mệt =min(2,4,3)+min(3,1,5)=2+1=3, đúng bằng tổng hai giá trị nhỏ nhất 1,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.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