Cod sursa(job #19663)

Utilizator webspiderDumitru Bogdan webspider Data 19 februarie 2007 20:37:28
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <iostream>

using namespace std;

int cul[512];
int din[513][513];

int i,j,k,n;

int main()
{
	freopen("culori.in","r",stdin);
	freopen("culori.out","w",stdout);

	scanf("%d\n", &n);

	for ( i = 1; i <= 2*n-1; i++ )
	{
		scanf("%d ", &cul[i]);
		din[i][i]=1;
	}

	for ( i = 1; i <= 2*n-2; i++ )
	for ( j = 1; j <= 2*n-1-i; j++ )
			if ( cul[j] == cul[j+i] )
	{
		for ( k = j+1; k < j+i; k++ )
		{
			if ( cul[j+1] == cul[k] )
			{
				din[j][j+i] += ( din[j+1][k] * din[k+1][j+i] )%9901;
				din[j][j+i] %= 9901;
			}
		}
	}
	printf("%d\n", din[1][2*n-1]);

	fclose(stdin);
	fclose(stdout);

	return 0;
}