Cod sursa(job #34074)

Utilizator pocaituDavid si Goliat pocaitu Data 20 martie 2007 00:41:03
Problema Culori Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define nmax 600
#define nrm 600
#define ko 9901
int a[nmax][nmax],s[nrm],n;

int rezolva()
{int i,l,k;
 for(i=1;i<=2*n-1;i++)
  if(s[i]==s[i+2])
	a[i][i+2]=1;

 for(l=4;l<2*n-1;l+=2)
	for(i=1;i<=2*n-1;i++)
	 if(s[i]==s[i+l])
	  for(k=i+2;k<=i+l&&k<=2*n-1;k+=2)
	   if(s[k]==s[i])
		 a[i][i+l]=(a[i][i+l]+a[i][k]+a[k][i+l]+/*2*a[i][k]*a[k][i+l]*/)%ko;

 return a[1][2*n-1];
 }





int main()
{int i;
 freopen("culori.in","r",stdin);
 scanf("%d",&n);
 for(i=1;i<=2*n-1;i++)
  scanf("%d",&s[i]);

 freopen("culori.out","w",stdout);
 printf("%d",rezolva());
 fclose(stdout);
 return 0;
 }