CF1517B.Morning Jogging

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The 2050 volunteers are organizing the "Run! Chase the Rising Sun" activity. Starting on Apr 25 at 7:30 am, runners will complete the 6km trail around the Yunqi town.

There are n+1n+1 checkpoints on the trail. They are numbered by 00, 11, ..., nn. A runner must start at checkpoint 00 and finish at checkpoint nn. No checkpoint is skippable — he must run from checkpoint 00 to checkpoint 11, then from checkpoint 11 to checkpoint 22 and so on. Look at the picture in notes section for clarification.

Between any two adjacent checkpoints, there are mm different paths to choose. For any 1≤i≤n1\le i\le n, to run from checkpoint i−1i-1 to checkpoint ii, a runner can choose exactly one from the mm possible paths. The length of the jj-th path between checkpoint i−1i-1 and ii is bi,jb_{i,j} for any 1≤j≤m1\le j\le m and 1≤i≤n1\le i\le n.

To test the trail, we have mm runners. Each runner must run from the checkpoint 00 to the checkpoint nn once, visiting all the checkpoints. Every path between every pair of adjacent checkpoints needs to be ran by exactly one runner. If a runner chooses the path of length lil_i between checkpoint i−1i-1 and ii (1≤i≤n1\le i\le n), his tiredness is $$\min_{i=1}^n l_i,$$ i. e. the minimum length of the paths he takes.

Please arrange the paths of the mm runners to minimize the sum of tiredness of them.

2050 志愿者正在组织“奔跑吧!追逐初升的太阳”活动。活动将于 4 月 25 日上午 7:30 开始,跑者需沿云栖小镇环形路线完成 6 公里的赛程。

该路线共设有 n+1n+1 个检查点,编号为 0,1,…,n0, 1, \dots, n。每位跑者必须从检查点 00 出发,并在检查点 nn 完成赛程。所有检查点均不可跳过——跑者必须依次从检查点 00 跑至检查点 11,再从检查点 11 跑至检查点 22,依此类推。具体示意图请参见“备注”部分中的图片。

任意两个相邻检查点之间均有 mm 条不同的可选路径。对任意 1≤i≤n1 \le i \le n,从检查点 i−1i-1 到检查点 ii 的 mm 条路径中,跑者恰好选择其中一条。第 jj 条路径(1≤j≤m1 \le j \le m)在检查点 i−1i-1 与 ii 之间的长度记为 bi,jb_{i,j}(其中 1≤i≤n1 \le i \le n)。

为测试该赛道,我们安排了 mm 名跑者。每名跑者必须各完成一次从检查点 00 到检查点 nn 的全程奔跑,且必须经过全部检查点。此外,每一对相邻检查点之间的每一条路径,恰好由一名跑者跑过一次。若某位跑者在检查点 i−1i-1 与 ii 之间选择的路径长度为 lil_i(1≤i≤n1 \le i \le n),则其疲劳值为

min⁡i=1nli,\min_{i=1}^n l_i,

即其所选各段路径长度中的最小值。

请为这 mm 名跑者合理分配路径,使得他们的疲劳值之和最小。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤10 0001 \le t \le 10\,000). Description of the test cases follows.

The first line of each test case contains two integers nn and mm (1≤n,m≤1001 \leq n,m \leq 100).

The ii-th of the next nn lines contains mm integers bi,1b_{i,1}, bi,2b_{i,2}, ..., bi,mb_{i,m} (1≤bi,j≤1091 \le b_{i,j} \le 10^9).

It is guaranteed that the sum of n⋅mn\cdot m over all test cases does not exceed 10410^4.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤10 0001 \le t \le 10\,000)。随后是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤1001 \leq n,m \leq 100)。

接下来的 nn 行中,第 ii 行包含 mm 个整数 bi,1b_{i,1}、bi,2b_{i,2}、...、bi,mb_{i,m}(1≤bi,j≤1091 \le b_{i,j} \le 10^9)。

保证所有测试用例中 n⋅mn\cdot m 的总和不超过 10410^4。

输出格式

For each test case, output nn lines. The jj-th number in the ii-th line should contain the length of the path that runner jj chooses to run from checkpoint i−1i-1 to checkpoint ii. There should be exactly mm integers in the ii-th line and these integers should form a permuatation of bi,1b_{i, 1}, ..., bi,mb_{i, m} for all 1≤i≤n1\le i\le n.

If there are multiple answers, print any.

对于每个测试用例,输出 nn 行。第 ii 行中的第 jj 个数应表示选手 jj 从检查点 i−1i-1 跑到检查点 ii 所选择路径的长度。第 ii 行中应恰好包含 mm 个整数,且这些整数对所有 1≤i≤n1\le i\le n 都构成 bi,1b_{i, 1}, ..., bi,mb_{i, m} 的一个排列。

若存在多个合法答案,输出任意一个即可。

输入输出样例

  • 输入#1

    2
    2 3
    2 3 4
    1 3 5
    3 2
    2 3
    4 1
    3 5

    输出#1

    2 3 4
    5 3 1
    2 3
    4 1
    3 5

说明/提示

In the first case, the sum of tiredness is min⁡(2,5)+min⁡(3,3)+min⁡(4,1)=6\min(2,5) + \min(3,3) + \min(4,1) = 6.

In the second case, the sum of tiredness is min⁡(2,4,3)+min⁡(3,1,5)=3\min(2,4,3) + \min(3,1,5) = 3.

在第一种情况下,疲劳度之和为 min⁡(2,5)+min⁡(3,3)+min⁡(4,1)=6\min(2,5) + \min(3,3) + \min(4,1) = 6。

在第二种情况下,疲劳度之和为 min⁡(2,4,3)+min⁡(3,1,5)=3\min(2,4,3) + \min(3,1,5) = 3。

输入解题思路,AI测评打分。不知道怎么写?

首页