【CodeForces688A】Opponents
阅读原文时间:2023年07月11日阅读:1

【思路分析】

比较水的模拟题

具体见代码吧

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
inline int read(){
    char chr = getchar();   int f = 1,ans = 0;
    while(!isdigit(chr)) {if(chr == '-') f = -1;chr = getchar();}
    while(isdigit(chr))  {ans = ans * 10;ans += chr - '0';chr = getchar();}
    return ans* f ;
}
void write(int x){
    if(x < 0) putchar('-'),x=-x;
    if(x > 9) write(x / 10);
    putchar(x % 10 + '0');
}
int sum[105],a[105][105];
int n,m;
int main(){
    n=read();
    m=read();
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++)
            scanf("%1d",&a[i][j]),sum[i]+=a[i][j];//读入...
        if(sum[i]==n) sum[i]=0; else sum[i]=1;//某一行若全是1,那么记为1,否则为0
    }
    int len=0,ans=0;//ans记录答案,len记录当前连续1的长度
    for(int i=1;i<=m;i++){
        if(sum[i]==1)   len++,ans=max(len,ans);//只要某一行全是1,就和ans判断取最大值
        else len=0;//一旦有中断,就清空当前连续1的长度
    }
    printf("%d",ans);
    return 0;
}