文理学院程序设计在线练习


学车费用

Time Limit: 1 Second(s)    Memory Limit: 32 MB

Total Submission(s): 581   Accepted Submission(s): 270
Problem Description

大明学开车了才知道驾校收费有点乱。经了解,不同的人的费用常常各不相同,有些人只要交一次报名费就好了,有些人要交报名费和场地费,而有些人却要交若干次费用:报名费、场地费、加油费、餐费、保险费……

于是大明想分别对他所了解到的学车同学的各项费用进行累加求出总费用,然后按下面的排序规则排序并输出,以便了解驾校的收费情况。

排序规则:先按总费用从多到少排序,若总费用相同则按姓名的ASCII码序从小到大排序,若总费用相同而且姓名也相同则按编号(即输入时的顺序号,从1开始编)从小到大排序。

Input

输入数据的第一行为一个正整数T(1<=T<=20), 表示测试数据的组数。然后是T组测试数据,每组测试数据先输入一个正整数n(n<=20),然后是n行输入,第i行先输入第i个人的姓名(长度不超过10个字符,且只包含大小写英文字母),然后是若干个整数(不超过10个),表示第i个人的各项费用,姓名及各项费用之间都以一个空格分隔,第i行输入的编号为i。
输入数据和结果均在32位int型范围之内。

Output

对于每组测试,在按描述中要求的排序规则进行排序后,按顺序逐行输出每个人费用情况,包括:费用排名(从1开始,费用相同则排名也相同)、编号、姓名、总费用。每行输出的数据之间留1个空格。

Sample Input
2
3
Tom 2800 900 2000 500 600
Jack 3800 400 1500 300
Tom 6700 100
3
Tom 2800 400 100
Jack 3800 800
mary 3300
Sample Output
1 1 Tom 6800
1 3 Tom 6800
3 2 Jack 6000
1 2 Jack 4600
2 1 Tom 3300
2 3 mary 3300
Author

hlj

Source

usx第六届程序设计竞赛