积分计算

时间限制: 1000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

今年北航 ACM-ICPC 集训队伍积分规则如下:

对于每场训练赛,每支队伍将根据排名获得积分,具体获得分数参考下表。

|   Rank   |      Score     |
|----------|----------------|
|     1    |       100      |
|     2    |       75       |
|     3    |       60       |
|     4    |       45       |
|     5    |       35       |
|     6    |       25       |
|     7    |       20       |
|     8    |       15       |
| n(n > 8) | max(19 - n, 0) |

每个队伍的总积分为去除两场积分最低的训练赛的积分后,其他训练赛的积分总和。

今年一共有 $n$ 支队伍参加了集训,集训由 $m$ 场训练赛组成,你知道每场训练赛的队伍排名,求最后集训结束后每个队伍按照总积分从大到小的顺序。

输入

第一行包含一个整数 $T$ ,表示数据组数。

对于每组数据,第一行是两个整数 $n$, $m$,表示参加集训的队伍数量以及集训由几场训练赛组成。接下来有 $m$ 行,每行 $n$ 个数构成 $1 \sim n$ 的排列,表示每场训练赛的名次,第一个数为排名第一的队伍编号,以此类推。

$T\leq 100,1 \le n \le 20, 3 \le m \le 100$

数据保证最后每个队伍的总积分都互不相同。

输出

对于每组数据,输出 $n+1$ 行,第一行格式为 Case #number:,其中 $\mathrm{number}$ 表示这是第 $\mathrm{number}$ 组数据,接下来 $n$ 行,第 $i$ 行表示将所有队伍按照最后的总积分从大到小排序后,第 $i$ 名的队伍编号以及总积分。

输入样例

1
14 17
1 9 6 3 2 4 8 7 10 5 12 13 11 14 
1 9 2 6 4 8 7 3 10 11 12 13 5 14 
1 6 9 4 10 8 3 13 7 2 12 5 11 14 
4 1 7 6 2 3 9 13 12 8 10 11 5 14 
1 9 3 6 7 8 2 12 10 13 11 5 14 4 
1 9 8 7 2 4 12 3 10 6 13 14 5 11 
1 9 7 2 4 3 12 8 13 5 6 10 11 14 
9 1 8 6 4 7 3 13 2 10 5 12 14 11 
1 4 8 2 9 6 3 10 13 7 11 5 12 14 
1 4 3 9 8 2 7 6 12 13 11 5 14 10 
9 2 6 4 8 1 10 3 13 7 11 12 5 14 
1 2 6 4 8 9 10 13 3 12 7 5 11 14 
1 6 9 4 2 3 12 13 7 8 10 5 11 14 
6 9 3 1 13 8 7 10 12 2 11 4 5 14 
1 2 9 6 8 7 3 10 4 12 13 11 5 14 
1 9 3 4 2 7 6 12 10 8 13 11 5 14 
3 6 4 9 8 2 1 12 13 10 7 11 5 14

输出样例

Case #1:
1 1395
9 1030
6 790
4 700
2 630
3 570
8 499
7 388
10 204
13 192
12 184
11 107
5 104
14 80

相关推荐