编程题:报销
年底,报销都挤在一堆,财务忙得不可开交。每个报销表包括姓名,各项费用的金额。对于每个报销单,这里规定按如下要求处理:
* 金额高的优先处理;
* 若金额相等时,则姓名字典序小的优先处理;
* 若金额和姓名都相等,则按报销单来得早的优先处理。
请帮财务排好报销单的处理顺序。
### 输入格式:
首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试数据,先输入2个正整数n、m(1≤n≤20,1≤m≤10),然后是n行输入,第i行先输入第i个报销单上的姓名(长度不超过10个字符,且只包含大小写英文字母),然后再输入m个整数,表示第i个报销单上的各项费用,数据之间都以一个空格分隔,第i行输入的编号为i,编号越小表示来得越早。
### 输出格式:
对于每组测试,输出n+1行,第一行是“Case k:”,其中k表示是第k组测试;对于后面的n行,每行包含一个按规定要求排好序之后的报销单信息,包括:费用排名(从1开始,费用相同则排名也相同)、原编号、姓名、总费用,每两个数据之间留一个空格。每两组测试数据之间留一个空行。
### 输入样例:
in
2
3 5
Tom 100 900 200 100 700
Jack 1000 400 500 50 50
Sara 700 100 200 1000 300
3 2
Tom 2600 400
Jack 3800 800
Mary 3100 100
### 输出样例:
out
Case 1:
1 3 Sara 2300
2 2 Jack 2000
2 1 Tom 2000
Case 2:
1 2 Jack 4600
2 3 Mary 3200
3 1 Tom 3000
答案:若无答案欢迎评论
* 金额高的优先处理;
* 若金额相等时,则姓名字典序小的优先处理;
* 若金额和姓名都相等,则按报销单来得早的优先处理。
请帮财务排好报销单的处理顺序。
### 输入格式:
首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试数据,先输入2个正整数n、m(1≤n≤20,1≤m≤10),然后是n行输入,第i行先输入第i个报销单上的姓名(长度不超过10个字符,且只包含大小写英文字母),然后再输入m个整数,表示第i个报销单上的各项费用,数据之间都以一个空格分隔,第i行输入的编号为i,编号越小表示来得越早。
### 输出格式:
对于每组测试,输出n+1行,第一行是“Case k:”,其中k表示是第k组测试;对于后面的n行,每行包含一个按规定要求排好序之后的报销单信息,包括:费用排名(从1开始,费用相同则排名也相同)、原编号、姓名、总费用,每两个数据之间留一个空格。每两组测试数据之间留一个空行。
### 输入样例:
in
2
3 5
Tom 100 900 200 100 700
Jack 1000 400 500 50 50
Sara 700 100 200 1000 300
3 2
Tom 2600 400
Jack 3800 800
Mary 3100 100
### 输出样例:
out
Case 1:
1 3 Sara 2300
2 2 Jack 2000
2 1 Tom 2000
Case 2:
1 2 Jack 4600
2 3 Mary 3200
3 1 Tom 3000
答案:若无答案欢迎评论