单点时限: 2.0 sec
内存限制: 256 MB
大家来到小强家,发现小强正发愁,原来小强正为 “ACM 足球超级联赛 ” 的排名而发愁。
既然过生日,就应该开开心心的,所以作为超级程序员的你应当挺身而出!
所以请你,天才程序员帮下忙,写个程序根据比赛情况计算出各队排名。
有多组测试数据。
每组数据先输入两个整数 $n$ $(0\leq n \leq 10)$ 和 $m$ $(0\leq m\leq 2 * n * n)$,$n$ 代表球队数量,$m$ 代表比赛场数。
接下来 $m$ 行,每行有三个数 $\ a, b, c$。 $a,b$ $(1\leq a,b \leq n)$ 表示球队的编号。
$c = 1$ ,表示 ‘a 胜 b’;
$c = -1$ ,表示 ‘b 胜 a’;
$c = 0$ ,表示 ‘a、b 战成平局’。
胜者球队积分加 $3$ 分,负者球队积分扣 $1$ 分,平局双方各加 $1$ 分。
(输入不会有自己打自己的情况,两个队之间可能有多场比赛)
$n = m = 0$ 表示输入结束,不用处理这组数据。
每个球队的初始积分为0。
在一行中按照排名输出各队的编号,每个数的后面输出一个空格,最后一个数后面没有空格。
排名规则:
1: 积分高的队排前面。
2: 积分一样的队胜场数多的排前面。
3: 积分一样且胜场数一样的队负场数少的排前面。
4: 若还不能分出先后,编号小的排前面。
4 4 1 2 1 2 1 1 3 4 1 3 4 -1 4 1 1 3 -1 4 1 3 2 0 4 4 4 1 1 3 2 0 3 2 0 3 1 0 4 2 3 1 1 1 4 0 0 0
1 2 3 4 3 2 4 1 2 3 1 4 4 3 2 1 3 4 2 1
题目 | 计分 |
---|---|
1001 | 100 |
1002 | 100 |
1003 | 100 |
1004 | 100 |
1005 | 100 |
1006 | 100 |
1007 | 100 |
1008 | 100 |
1009 | 100 |
1010 | 100 |
1011 | 100 |
1012 | 100 |
1013 | 100 |
1014 | 100 |
1015 | 100 |
1016 | 100 |
1017 | 100 |
1018 | 100 |
1019 | 100 |
1020 | 100 |
1021 | 100 |
1022 | 100 |
1023 | 100 |
1024 | 100 |
1025 | 100 |
1026 | 100 |
1027 | 100 |
1028 | 100 |
1029 | 100 |
1030 | 100 |