简单推论
/************************************************************** Problem: 1088 User: lxy8584099 Language: C++ Result: Accepted Time:20 ms Memory:900 kb ****************************************************************/ /* 第一个确定 那么整个格局就确定了! 所以 可以固定第一个然后往后判断 */ #include<cstdio> using namespace std; const int N=1e4+50; int n,a[N],b[N],ans; bool check() { for(int i=2;i<=n+1;i++) { b[i]=a[i-1]-b[i-1]-b[i-2]; if(b[i]!=1&&b[i]!=0) return 0; } if(b[n+1]!=0) return 0; return 1; } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); b[1]=0; ans+=check(); b[1]=1; ans+=check(); printf("%d\n",ans); return 0; }

京公网安备 11010502036488号