Cod sursa(job #1754833)

Utilizator Athena99Anghel Anca Athena99 Data 8 septembrie 2016 19:47:47
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream fin("culori.in");
ofstream fout("culori.out");

const int nmax= 256;
const int mod= 9901;

int v[nmax*2], d[nmax*2][nmax*2];

int main(  ) {
    int n;
    fin>>n;
    for ( int i= 1; i<=n*2-1; ++i ) {
        fin>>v[i];
        d[i][i]= 1;
    }

    for ( int i= 2; i<=n*2-2; i+= 2 ) {
        for ( int j= 1; i+j<=n*2-1; ++j ) {
            for ( int k= j+1; k<=i+j-1 && v[i+j]==v[j]; ++k ) {
                d[j][i+j]= (d[j][i+j]+d[j+1][k]*d[k+1][i+j])%mod;
            }
        }
    }

    fout<<d[1][n*2-1]<<"\n";

    return 0;
}