竞赛讨论区 > 神仙打架
头像
鬼鬼呀
发布于 2021-12-16 09:20
+ 关注

神仙打架


牛村新开了一个系列赛,一个系列赛有m场比赛,比赛规则是解题数越多排名越前,如果前几名队伍解题数一样则会并列第一。
有n个神仙队伍完整参加了m场比赛,请问有几个队伍拿过第一名。

第一行输入两个整数n,m,表示队伍数量与m场比赛。
接下来n行输入一个数字矩阵,每行m个数字字符表示每场比赛的解题数量
1<=n,m<=100

定义一个字符数组储存,用int类型后面会出现运行错误

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a[110][110];
    int max[110];
    int n,m,cnt=0;
    cin>>n>>m;
    for(int i=0; i<n; i++)
        for(int j=0; j<m; j++)
            cin>>a[i][j];
    
    for(int j=0; j<m; j++)  // 纵向遍历数组,统计每场比赛最大值
    {
        for(int i=0; i<n; i++)
        {
            if(a[i][j]-'0'>max[j])
            {
                max[j]=a[i][j]-'0';
            } //大于max进行替换
        }
    }
//   for(int i=0; i<m; i++) cout<<max[i]<<" ";  // 9 1 8 2 8 
    for(int i=0; i<n; i++)  // 遍历每一个队伍
    {
        for(int j=0; j<m; j++)  // 第i个队伍的每一场
        {
            if((a[i][j]-'0')==max[j])  // 当前场的解题数量等于当场最大解题数
            {
                cnt++;
                break;  // 拿过第一名了就跳出统计下一个队伍
            }
        }
    }
    cout<<cnt;
    return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐