Cod sursa(job #19616)

Utilizator moga_florianFlorian MOGA moga_florian Data 19 februarie 2007 19:57:09
Problema Culori Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
using namespace std;
#include<stdio.h>
#include<fstream>
#define nmax 520

int a[nmax][nmax];
int c[nmax];

int main()
{
FILE *fout=fopen("culori.out","w"),
     *fin=fopen("culori.in","r");
     
int n,i,j,k;

fscanf(fin,"%d",&n);
for(i=1;i<2*n;i++)
  fscanf(fin,"%d",&c[i]);
  
memset(a,0,sizeof a);
for(i=1;i<2*n;i++) a[i][i]=1;

for(i=1;i<2*n;i++)
  for(j=1;j+i<2*n;j++)
    if(c[j]==c[i+j])
      for(k=j+1;k<i+j;k++)
         if(c[k]==c[j+1])
            a[j][i+j]+=a[j+1][k]*a[k+1][j+i];
            
fprintf(fout,"%d\n",a[1][2*n-1]);     
     
fclose(fin);
fclose(fout);
return 0;    
}