标签:nyoj
3 1 2 3 3 5 1 2
9 15
#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; int a[10005]; void add(int l,int r) { if(a[l]==2) { a[l]++; return ; } if(a[l]==0) l--; a[l]<=a[r]?a[l]++:a[r]++; } int main() { int n; while(cin>>n) { int i,j; for(i=0; i<n; i++) cin>>a[i]; if(a[0]==1) { a[1]++; a[0]=0; } for(i=1; i<n-1; i++) if(a[i]==1) { a[i]=0; add(i-1,i+1);//左加or右加 } if(a[n-1]==1&&n>1) { for(i=n-2; !a[i]; i--);//0 a[i]++; a[n-1]=0; } int sum; for(i=0,sum=1; i<n; i++) if(a[i]) sum=(sum*a[i])%10086; cout<<sum<<endl; } }
标签:nyoj
原文地址:http://blog.csdn.net/u012349696/article/details/41594353