【CodeForces688A】Opponents

【思路分析】

比较水的模拟题

具体见代码吧

#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;
}
原文地址:https://www.cnblogs.com/zhenglw/p/9517670.html