早锻炼

【问题描述】
每天早晨,John带着奶牛们到木棚外面去早锻炼(为了让奶牛多产牛奶)。奶牛们将被分成同样长的两排。John已经准备了一条2n(1<=n<=100)的空地作为早锻炼的场地。将这块场地想象成2n个方格。当John以为万事俱备的时候,他发现场地中有的格子里种着树,当然奶牛不能站在树上。
早操的队伍必须紧紧地连在一起,所以John就不能使用空地中的某些部分了。所以John就不得不把牛群分割成若干个2x部分,每次带一个部分去锻炼。John想知道每次最多能带几头牛,当然这些牛占的位置一定是2
k格(k<=n)。
【输入】
第一行:一个整数N
第2..N+1行:每行有两个用空格隔开的整数组成描述了1*2个的地形。如果这一格有树则为1,如果这一格为平地则为0。
【输出】
仅一行:一个整数即一次最多能带入几头牛。

【输入样例】
7
0 0
1 0
1 1
0 0
0 0
0 0
0 1

【输出样例】
6

【样例说明】
这是一个27的地形图。
没有树的最大空间为2
3,所以一次最多可带入2*3=6头牛。

【代码】

#include <bits/stdc++.h>
using namespace std;
template<typename T>inline void read(T &FF){
	T RR=1;FF=0;char CH=getchar();
	for(;!isdigit(CH);CH=getchar())if(CH=='-')RR=-1;
	for(;isdigit(CH);CH=getchar())FF=(FF<<1)+(FF<<3)+(CH^48);
	FF*=RR;
}
template<typename T>void write(T x){
	if(x<0)putchar('-'),x*=-1;
	if(x>9)write(x/10);
	putchar(x%10+48);
}
int main(){
	int n,ans=0,s=0;
	read(n);
	for(int i=1;i<=n;i++){
		int x,y;
		read(x);read(y);
		if(x+y==0)s++;
		else s=0;
		ans=max(ans,s);
	}cout<<ans*2;
	return 0;
}
posted @ 2020-10-17 12:16  牛大了的牛大  阅读(179)  评论(0编辑  收藏  举报