Cod sursa(job #1476205)

Utilizator Liviu98Dinca Liviu Liviu98 Data 24 august 2015 17:22:42
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <stdio.h>
#define NMax 600
#define MOD 9901
using namespace std;
int v[NMax],D[NMax][NMax],N;

void Read()
{
    scanf("%d",&N);
    N=2*N-1;
    for(int i=1;i<=N;i++)
    {
        scanf("%d",&v[i]);
        D[i][i]=1;
    }
}

void Dinamic()
{
    for(int length=3;length<=N;length=length+2)
        for(int i=1;i+length-1<=N;i++)
        {
            int j=i+length-1;
            if(v[i]==v[j])
            for(int k=i;k<=j;k++)
            D[i][j]=(D[i][j]+D[i+1][k]*D[k+1][j])%MOD;
        }
    printf("%d",D[1][N]);
}

int main()
{
    freopen("culori.in","r",stdin);
    freopen("culori.out","w",stdout);
    Read();
    Dinamic();
}