Cod sursa(job #206158)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 4 septembrie 2008 23:00:04
Problema Culori Scor 12
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#define FIN "culori.in"
#define FOUT "culori.out"
#define MOD 9901
#define MAXN 257

int C[MAXN][MAXN];
int Culori[MAXN];
int N;
int i,j,k,l;

int main()
{
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &N);
for (i=1;i<=2*N-1;++i)
     {
     scanf("%d", &Culori[i]);
     C[i][i]=1;
     }
for (i=2;i<=2*N-1;++i)
     for (j=1;j<=2*N-i;++j)
	  {
	   C[j][i+j-1]=0;
	   for (k=j;k<i+j-1;k+=2)
		if (Culori[k]==Culori[j])
		    C[j][i+j-1]=(C[j][i+j-1]+C[j][k]*C[k+1][i+j-2])%MOD;
}
printf("%d\n", C[1][2*N-1]);
return 0;
}