Cod sursa(job #19734)

Utilizator crusRus Cristian crus Data 19 februarie 2007 21:44:31
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#define input "culori.in"
#define output "culori.out"
#define rest 9901
#define nmax 1000
long n,i,j,k,v[nmax],cnt[nmax][nmax];
void citire()
{
	FILE *fin;
	fin=fopen(input,"r");
	fscanf(fin,"%ld",&n);
	for (i=1;i<=2*n-1;i++)
		fscanf(fin,"%ld",&v[i]);
	fclose(fin);
}
void afisare()
{
	FILE *fout;
	fout=fopen(output,"w");
	fprintf(fout,"%ld",cnt[1][2*n-1]);
	fclose(fout);
}
void solve()
{
	for (i=2*n-1;i>=1;i--)
		for (j=i;j<=2*n-1;j++)
			if (i==j) cnt[i][j]=1;
			   else			   
			if (v[i]==v[j])
				for (k=i+1;k<j;k++)
					{
					cnt[i][j]+=cnt[i+1][k]*cnt[k+1][j];			
					cnt[i][j]%=rest;
					}
			   
}
int main()
{
	citire();
	solve();
	afisare();
	return 0;
}