测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题