标签:
给你一个
首先你得会玩扫雷。。(不会的出门左转阳台不送)
然后我们观察可以发现,如果我们确定了第
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
int a[1010]={0};
int N;
bool g[1010]={0};
int ans=0;
bool check()
{
for(int i=1;i<N;i++)
{
int gg=g[i-1]+g[i];
if(gg==a[i]-1) g[i+1]=1;
else if(gg>a[i] || gg+1<a[i]) return false;
}
if(g[N-1]+g[N]!=a[N]) return false;
return true;
}
int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++)
scanf("%d",&a[i]);
ans+=check();
if(a[1]>0)
{
memset(g,0,sizeof(g));
g[1]=1;
ans+=check();
}
cout<<ans<<endl;
return 0;
}
标签:
原文地址:http://blog.csdn.net/qq_21995319/article/details/45646273