Pagini recente » Cod sursa (job #204630) | Cod sursa (job #1133966) | Cod sursa (job #1784889) | Cod sursa (job #1979744) | Cod sursa (job #34079)
Cod sursa(job #34079)
#include<stdio.h>
#define nmax 600
#define nrm 600
#define ko 9901
long a[nmax][nmax],s[nrm],n;
long rezolva()
{long i,l,k;
for(i=1;i<=2*n-1;i++)
if(s[i]==s[i+2])
a[i][i+2]=1;
for(l=4;l<2*n-1;l+=2)
for(i=1;i<=2*n-1;i++)
if(s[i]==s[i+l])
{a[i][i+l]++;
for(k=i+2;k<i+l&&k<=2*n-1;k+=2)
if(s[k]==s[i])
{
a[i][i+l]=(a[i][i+l]+a[i][k]*a[k][i+l])%ko;
}
}
return a[1][2*n-1];
}
int main()
{int i;
freopen("culori.in","r",stdin);
scanf("%ld",&n);
for(i=1;i<=2*n-1;i++)
scanf("%ld",&s[i]);
freopen("culori.out","w",stdout);
printf("%ld",rezolva());
fclose(stdout);
return 0;
}