Cod sursa(job #1386177)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 12 martie 2015 19:34:00
Problema Culori Scor 24
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#define MOD 9901
#define MAXN 256
int d[2*MAXN][2*MAXN], v[2*MAXN];
int main(){
    int n, i, j, l, k;
    FILE *fin, *fout;
    fin=fopen("culori.in", "r");
    fout=fopen("culori.out", "w");
    fscanf(fin, "%d", &n);
    for(i=1; i<2*n; i++){
        fscanf(fin, "%d", &v[i]);
        d[i][i]=1;
    }
    for(l=2; l<2*n; l+=2){
        for(i=1, j=i+l; j<2*n; i++, j++){
            if(v[i]==v[j]){
                for(k=i+1; k<j; k+=2){
                    if(v[i+1]==v[k]){
                        d[i][j]=(d[i+1][k]*d[k][j-1]+d[i][j])%MOD;
                    }
                }
            }
        }
    }
    fprintf(fout, "%d\n", d[1][2*n-1]);
    fclose(fin);
    fclose(fout);
    return 0;
}