Cod sursa(job #18960)

Utilizator DITzoneCAdrian Diaconu DITzoneC Data 18 februarie 2007 15:31:19
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <stdio.h>
#define nmax 512 
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define MOD 9901

int A[nmax],H[nmax][nmax],n;

int main()
{
	freopen("culori.in","r",stdin);
	freopen("culori.out","w",stdout);
	int i,j,k,l;
	scanf("%d",&n);
	n=2*n-1;
	FOR(i,0,n)
		scanf("%d",&A[i]),H[i][i]=1;
	FOR(l,2,n)
	{
		FOR(i,0,n-l)
			if(A[j=i+l]==A[i])
				FOR(k,i,j)
					H[i][j]=(H[i][j]+H[i][k]*H[k+1][j-1])%MOD,k++;
		l++;
	}
	printf("%d\n",H[0][n-1]);
	return 0;
}