扫雷
来源:互联网 发布:king域名永久 编辑:程序博客网 时间:2024/06/03 14:27
某一位的状态可以由上面的和上上面的推过来
所以枚举第一位有没有雷
dp方程:
b[i]=a[i-1]-b[i-2]-b[i-1];
#include<cstdio>#include<iostream>#include<cmath>#include<cstring>#include<stdlib.h>using namespace std;int n,a[19999],b[19999], ans;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=0;i<=1;i++) { b[0]=0; b[1]=i; for(int j=2;j<=n+1;j++) { b[j]=a[j-1]-b[j-2]-b[j-1]; if(b[j]>1||b[j]<0)break; if(j==n+1&&b[n+1]==0) ans++; } } printf("%d",ans);}