标签: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