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


足球联赛排名

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

Total Submission(s): 760   Accepted Submission(s): 414
Problem Description

根据本赛季足球联赛的全部比赛结果,给队伍排名。

排名规则:
1)先看积分,积分高的名次在前(每场比赛胜者得3分,负者得0分,平局各得1分);
2)若积分相同,则看净胜球,净胜球多的排名在前(即该队伍的进球总数与失球总数之差)
3)若积分和净胜球都相同,则看总进球数,进球总数多的排名在前
4)若积分、净胜球和总进球数都相同,则编号小的排名在前(这个规定大多数人会觉得不公平,可对你来说呢,难道不是一件幸事^_^)

Input

输入数据首先包含一个整数T,表示测试实例的个数,然后是T组测试数据。
对于每组测试数据,首先是正整数n (n<1000),代表参赛队伍总数. 为方便起见,队伍以编号1..N表示。接下来是n*(n-1)/2行数据,依次代表包含这n个队伍之间进行单循环比赛的结果。具体格式为:i j p q, 其中i,j分别代表两支队伍的编号(1<=i<j<=N), p,q代表队伍i和队伍j的各自进球数(0<=p,q<=50).

Output

对于每组测试数据。按比赛排名从小到大依次输出队伍的编号,两个队伍之间保留一个空格,尾部没有多余空格。

Sample Input
2
3
1 2 3 0
1 3 1 1
2 3 0 0
4
1 2 0 2
1 3 1 1
1 4 0 0
2 3 2 0
2 4 4 0
3 4 2 2
Sample Output
1 3 2
2 3 1 4
Source

zscas第二届程序设计竞赛2008/03/30下午