Pagini recente » Cod sursa (job #2362410) | Cod sursa (job #884623) | Cod sursa (job #2539018) | Cod sursa (job #267394) | Cod sursa (job #108509)
Cod sursa(job #108509)
#include <stdio.h>
#define NMAX 270
#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);
long i, j, k;
for (i=1; i<=2*n-1; ++i)
scanf("%ld", &C[i]);
long 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-nr; ++i)
{
j=i+nr-1;
if (j>2*n-1 || C[i] != C[j]) continue;
for (k=i+1; k<=j-1; ++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;
}