A41449. Lab杯“Lab杯”乒乓球赛就要在PKU的实验室之间举行了。人工智能实验室的学生都是乒乓球的狂热分子,都强烈希望代表实验室去比赛。但是有余名额限制,他们之中只能由一个人被选作代表。为了让选择的过程公平,他们决定打一次单循环赛,每一对学生之间都打一场五局三胜的比赛。赢得最多比赛的人就将代表实验室去比赛。现在Ava手里有一份表,表里面记录了每一场比赛的比分。她应该让谁去比赛?输入输入包含一组测试数据…
填空题
较易
知识点
题目描述
Lab杯
“Lab杯”乒乓球赛就要在PKU的实验室之间举行了。人工智能实验室的学生都是乒乓球的狂热分子,都强烈希望代表实验室去比赛。但是有余名额限制,他们之中只能由一个人被选作代表。
为了让选择的过程公平,他们决定打一次单循环赛,每一对学生之间都打一场五局三胜的比赛。赢得最多比赛的人就将代表实验室去比赛。现在Ava手里有一份表,表里面记录了每一场比赛的比分。她应该让谁去比赛?
输入
输入包含一组测试数据。第一行包含n(2 ≤ n ≤ 100),实验室里学生的数目。
接下来给出一个n × n矩阵A。矩阵的每一个元素都是0、1、2、3中的一个。
第 i 行第 j 列的元素 aij 是第 i 个学生在和第 j 个学生的比赛中赢的局数。
aij 和 aji(i ≠ j)正好有一个是3,另外一个小于3。矩阵的所有对角线元素都是0。
输出
输出赢了最多比赛的学生的编号。如果有平分,选择编号最小的。
样例输入
4
0 0 3 2
3 0 3 1
2 2 0 2
3 3 3 0样例输出
4参考答案
#include <bits/stdc++.h>
using namespace std;
int n,p;
struct Stu{
int n,num;
friend bool operator<(Stu a,Stu b){
if(a.num!=b.num) return b.num<a.num;
else return a.n<b.n;
}
}stu[102];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
int t=0;
for(int j=1;j<=n;j++){
cin>>p;
if(p>2) t++;
}
stu[i].num=t;
stu[i].n=i;
}
sort(stu+1,stu+n+1);
cout<<stu[1].n<<endl;
return 0;
}
上一题
下一题