Cod sursa(job #1264915)
| Utilizator | Data | 16 noiembrie 2014 14:45:26 | |
|---|---|---|---|
| Problema | Culori | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<stdio.h>
#define N 256
#define MOD 9901
int v[N*2][N*2];
int cul[N*2];
int main(){
FILE *fin,*fout;
fin=fopen("culori.in","r");
fout=fopen("culori.out","w");
int n;
fscanf(fin,"%d",&n);
n=n*2-1;
int i;
for(i=0;i<n;i++)
fscanf(fin,"%d",&cul[i]);
for(i=n-1;i>=0;i--){
v[i][i]++;
int k;
for(k=i+1;k<n;k++)
if((i+k)%2==0&&cul[i]==cul[k]){
int j;
for(j=i+1;j<k;j++)
v[i][k]=(v[i][k]+v[i+1][j]*v[j+1][k])%MOD;
}
}
fprintf(fout,"%d",v[0][n-1]);
return 0;
}
