BZOJ1088 - [SCOI2005]扫雷Mine
题意简述
在一个
分析
记第一行的雷分布情况为
实现
根据
代码
#include <cstdio>
int const N=1e4+10;
int n,x[N]; int a[N];
int check()
{
for(int i=2;i<=n-1;i++)
{
a[i+1]=x[i]-a[i-1]-a[i];
if(a[i+1]!=0 && a[i+1]!=1) return 0;
}
if(a[n-1]+a[n]==x[n]) return 1;
else return 0;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&x[i]);
if(x[1]==0) a[1]=0,a[2]=0;
else if(x[1]==1) a[1]=1,a[2]=0;
else if(x[1]==2) a[1]=1,a[2]=1;
int ans=check();
if(x[1]==1) a[1]=0,a[2]=1,ans+=check();
printf("%d\n",ans);
return 0;
}