描述
学校的乒乓球赛就要举行了。
某个班的同学们都喜欢打乒乓球,都强烈希望代表班级去比赛。
但是由于名额限制,他们之中只能由一个人被选作代表。
为了让选择的过程公平,他们决定打一次单循环赛,每一对学生之间都打一场五局三胜的比赛。
赢得最多比赛的人就将代表班级去比赛。
现在班主任手里有一份表,表里面记录了每一场比赛的比分。
她应该让谁去比赛?
输入
输入包含一组测试数据。
第一行包含n(2 <= n <= 100),表示班级学生的数目。
接下来给出一个 n × n 矩阵。
矩阵的每一个元素都是0,1、2,3中的一个。
第 i 行第 j 列的元素 aij 是第 i 个学生在和第 j 个学生的比赛中赢的局数。
aij 和 aji(i ≠ j)正好有一个是3,另外一个小于3。
矩阵的所有对角线元素都是0。
输出
输出赢了最多比赛的学生的编号。如果有平分,选择编号最小的。
输入样例 1
4
0 0 3 2
3 0 3 1
2 2 0 2
3 3 3 0
输出样例 1
4
语言:
C++
这是我的代码:
#include<iostream>
using namespace std;
int n ;
int s[6][6] ;
void shuru() {
for( int i = 1 ; i <= n ; i ++) {
for( int k = 1 ; k <= n ; k ++) {
cin>>s[i][k] ;
}
}
}
int get_count(int x) {
int m = 0 ;
for( int i = 1 ; i <= n ; i ++) {
if( 3 == s[x][i] ) {
m++ ;
}
}
return m ;
}
void solve(){
shuru() ;
int mi = 0 ;
int mx = 0 ;
for( int i = 1 ; i <= n ; i ++ ) {
int m = get_count(i) ;
if( m > mx ) {
mi = i ;
mx = m ;
}
}
cout << mi << endl ;
}
int main(){
//freopen("083.txt", "r", stdin) ;
while(cin>>n) {
solve() ;
}
return 0 ;
}
但是错了,求大家修改