竞赛讨论区 > 有备注,为什么只有90,还有什么情况没考虑
头像
bb来来来
发布于 2023-10-01 19:48
+ 关注

有备注,为什么只有90,还有什么情况没考虑

#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) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐