1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include<bits/stdc++.h> #define ll long long #define N 10010 #define fsb(a,b,c) for(int a=b;a<=c;a++) #define fbs(a,b,c) for(int a=b;a>=c;a--) using namespace std; int a[N],n; template<typename T>inline void rll(T &x){ T f=1;x=0;char c=getchar(); while(!isdigit(c))f=c=='-'?-1:f,c=getchar(); while(isdigit(c))x=x*10+c-'0',c=getchar(); x*=f; } inline int calc(int p,int x,int y){ if(p==0) return (x==0)?1:0; int t=a[p]-x-y; if(t<0||t>1)return 0; return calc(p-1,t,x); } int main(){ rll(n); fsb(i,1,n)rll(a[i]); printf("%d\n",calc(n,0,0)+calc(n,1,0)); return 0; }
|