Cod sursa(job #1113314)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 20 februarie 2014 15:44:54
Problema Culori Scor 84
Compilator cpp Status done
Runda preoni2007_probleme_9-10_r2-3 Marime 0.78 kb
#include <cstdio>

#define NMAX 557
#define Mod 9901

using namespace std;

int n, D[NMAX][NMAX], a[NMAX];

int main(){
    freopen("culori.in", "r", stdin);
    freopen("culori.out", "w", stdout);
    scanf("%d", &n);
    for(int i = 1; i <= 2 * n - 1; ++i){
        scanf("%d", &a[i]);
        D[i][i] = 1;
    }
    for(int K = 1; K <= n * 2 - 1; ++K)
        for(int i = 1; i <= n * 2 - 1; ++i){
            int j = K + i;
            if(a[i] == a[j] && j <= 2 * n - 1)
                for(int k = i + 1; k < j; ++k)
                    if(a[i + 1] == a[k] && a[k + 1] == a[j]){
                        D[i][j] += D[i + 1][k] * D[k + 1][j];
                        D[i][j] %= Mod;
                    }
        }
    printf("%d", D[1][n * 2 - 1]);
    return 0;
}