Cod sursa(job #235981)

Utilizator marinMari n marin Data 26 decembrie 2008 14:03:05
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#define DIM 600
#define MOD 9901

long long c[DIM];
long long a[DIM][DIM];
long long i,j,k,n,d;

int main(){
  FILE *f = fopen("culori.in","r");
  fscanf(f,"%lld",&n);
  n=2*n-1;
  for (i = 1;i<=n;i++) {
    fscanf(f,"%lld",&c[i]);
    a[i][i] = 1;
  }
  fclose(f);

  for (d = 2; d<=n; d++){
    for (i=1;i+d-1<=n;i++) {
      j = i+d-1;
      if (d%2 == 0 || c[i]!=c[j])
	a[i][j] = 0;
      else {
	for (k=i+1;k<j;k++)
	  a[i][j]+=(a[i+1][k]*a[k+1][j]);
	  a[i][j]%=MOD;
      }
    }
  }
  FILE *g = fopen("culori.out","w");
  fprintf(g,"%lld",a[1][n]);
  fclose(g);


  return 0;
}