Pagini recente » Cod sursa (job #650290) | Cod sursa (job #1914956) | Cod sursa (job #718474) | Cod sursa (job #2089470) | Cod sursa (job #108473)
Cod sursa(job #108473)
#include <stdio.h>
#define NMAX 500
#define mod 9901
int n;
long C[NMAX*2];
long A[NMAX][NMAX];
int main()
{
freopen("culori.in","r",stdin);
freopen("culori.out","w",stdout);
scanf("%d", &n);
int i, j, k;
for (i=1; i<=2*n-1; ++i)
scanf("%ld", &C[i]);
int nr;
for (i=1; i<=2*n-1; ++i)
A[i][i]=1;
for (nr=3; nr<=2*n-1; nr+=2)
for (i=1; i<=2*n-1-nr; ++i)
{
j=i+nr-1;
if (j>2*n-1) continue;
if (C[i] != C[j]) continue;
for (k=i+1; k<j; ++k)
if (C[i+1]==C[k])
A[i][j]=(A[i][j]+A[i+1][k]*A[k+1][j])%mod;
}
printf("%ld", A[1][2*n-1]);
fclose(stdin);
fclose(stdout);
return 0;
}