Cod sursa(job #74645)

Utilizator a7893Nae Mihai a7893 Data 26 iulie 2007 20:34:00
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#define N 600
int n,m,c[N],a[N][N],k;
void read()
{
	int i;
	scanf("%d",&n);
	for(i=1;i<=2*n-1;i++)
		scanf("%d",&c[i]);
	m=2*n-1;
}
void solve()
{
	int i,j,d;
	for(i=1;i<=m;i++)
		a[i][i]=1;
	for(d=0;d<m;d+=2)
		for(i=1;i<=m-d;i++)
		{
			j=i+d;
			if(c[i]==c[j])
				for(k=i+1;k<j;k++)
					if(c[k]==c[i+1])
						a[i][j]=(a[i][j]+a[i+1][k]*a[k+1][j])%9901;
		}
	printf("%d\n",a[1][m]);
}
int main()
{
	freopen("culori.in","r",stdin);
	freopen("culori.out","w",stdout);
	read();
	solve();
	return 0;
}