#include<iostream>
#include<string>
using namespace std;
void sxdj() {
int n, m;
cin >> n >> m; //n是队伍数量,m是比赛场数
char arr[n][m];
for (int i = 0; i < m; i++) { //用字符数组保留输入的每行输入的数字
cin >> arr[i];
}
int count = 0; // 结果
bool isVisited[n] ; //是否得过第一名的标记
for (int i = 0; i < m; i++) { //按比赛常数进行遍历
string k; //保留该场次比赛中解题相同的队伍下标
int max = -1; //最大值
for (int j = 0; j < n; j++) { //每个队伍依次与最大值比较
if (arr[j][i] - '0' > max) { //简单的比较
max = arr[j][i] - '0'; //max更新
k = to_string(j); //重新给k赋值
}
else if (arr[j][i] - '0' == max) {
k =k+ to_string(j); //将相同的解题数的队伍下标加到k的最后
}
}
//遍历k的每个字符,当出现其下标没有被访问过的队伍下标时,count+1
for (int q = 0; q < k.size(); q++) {
int temp = k[q] - '0';
if (isVisited[temp] != true) {
count++;
isVisited[temp] = true;
}
}
}
//模拟完后,输出
cout << count << endl;
}
int main() {
sxdj();
return 0;
}
全部评论
(0) 回帖