Cod sursa(job #108445)

Utilizator ScrazyRobert Szasz Scrazy Data 22 noiembrie 2007 18:58:47
Problema Culori Scor 12
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#define NMAX 257
#define mod 9901

int n;
int C[NMAX*2];
int A[NMAX][NMAX];

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

    scanf("%d", &n);

    int i, j, k;

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

    int nr;

    for (i=1; i<=2*n-1; ++i) 
	A[i][i]=1;


    for (nr=3; nr<=2*n-1; nr+=2)
	for (i=1; i<=2*n-nr; ++i)
	{
	    j=i+nr-1;
	    if (j>2*n-1) break;

	    for (k=i+1; k<j; ++k)
		if (C[i+1]=C[k])
		    A[i][j]=(A[i][j]+A[i+1][k]*A[k+1][j])%mod;
	} 

    printf("%d", A[1][2*n-1]);

    fclose(stdin);
    fclose(stdout);

    return 0;
}