竞赛评分
原创
©著作权归作者所有:来自51CTO博客作者mb5f5b1df7f1e34的原创作品,请联系作者获取转载授权,否则将追究法律责任
0056:竞赛评分
总时间限制:
1000ms
内存限制:
65536kB
描述
现举行一次小竞赛,参赛的3支队伍,编号为1,2,3.每支队列轮流回答问题,如果回答正确,加10分;回答错误,扣10分;放弃回答不得分.经过多轮答题后,我们要统计各队的名次和得分.
输入
第一行为回答问题的轮次数n.
其余各行分别为1,2,3号队伍答题的结果,回答正确为right,错误为wrong,放弃为give-up.
输出
按名次输出各队的编号和得分.名次相同的在同一行输出,且编号小者靠前.
样例输入
4
right wrong give-up
right right right
wrong right right
right right right
样例输出
(3,30)
(1,20)(2,20)
来源
计算概论05
分数相同无空格
import java.util.Arrays;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
cin.nextLine();
P [] p=new P [3];
for(int i=0;i<3;i++)
{
p[i]=new P(i+1,0);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<3;j++)
{
String s=cin.next();
if(s.equals("right"))
{
p[j].a+=10;
}
else if(s.equals("wrong"))
{
p[j].a-=10;
}
}
}
Arrays.sort(p,new MyComprator());
for(int i=0;i<3;i++)
{
if(i+1<3&&p[i].a!=p[i+1].a)
System.out.println("("+p[i].id+","+p[i].a+")");
else
System.out.print("("+p[i].id+","+p[i].a+")");
}
}
}
class P
{
public int id,a;
public P(int id, int a) {
super();
this.id = id;
this.a = a;
}
}
class MyComprator implements Comparator<P> {
public int compare(P t1, P t2) {
if(t1.a==t2.a)
{
return t1.id-t2.id;
}
return t2.a-t1.a;
}
}