数组-好学生
题目描述:
告诉你每个学生在每门功课上的成绩,现在定义好学生为:至少在某一门功课上是所有学生中最优秀的。
问,有多少个好学生
输入格式:
第一行输入两个整数n,m,表示学生的数量与功课的数量
接下来n行输入一个数字矩阵,每行m个数字字符。
输出格式:
输出一个整数
样例输入:
3 5
91728
11828
11111
样例输出:
3
代码
#include<bits/stdc++.h>
using namespace std;
char a[1000][1000];
int mx[1000];
int main()
{
int n,m;
cin>> n >> m;
for(int i = 0; i < n; i++)
{
cin>> a[i];
}
for(int i = 0; i < m; i++)
{
mx[i] = 0;
for(int j = 0; j < n; j++)
{
if(a[j][i] > mx[i])
{
mx[i] = a[j][i];
}
}
}
int ret = 0;
for(int i = 0; i < n; i++)
{
bool flag = false;
for(int j = 1; j < m; j++)
{
if(a[i][j] == mx[j])
{
flag = true;
break;
}
}
if(flag == true)
{
ret++;
}
}
cout<< ret;
return 0;
}
各位错哪了?