【思路分析】
比较水的模拟题
具体见代码吧
#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;
}