Cod sursa(job #1987316)

Utilizator danstefanDamian Dan Stefan danstefan Data 30 mai 2017 12:11:43
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
#define MOD 9901
using namespace std;
int n,i,a[530][530],j,k,v[530],l;
int main()
{
    freopen("culori.in","r",stdin);
    freopen("culori.out","w",stdout);
    scanf("%d",&n);
    n=2*n-1;
    for(i=1; i<=n; ++i)
    {
        scanf("%d",&v[i]);
        a[i][i]=1;
    }
    for(l=2; l<=n; l+=2)
        for(i=1; i<=n-2; ++i)
        {
            j=i+l;
            if(v[i]==v[j]&&(i+j)%2==0)
            {
                for(k=i+1; k<j; ++k)
                    if(v[i+1]==v[k]) a[i][j]=(a[i][j]+(a[i+1][k]*a[k+1][j])%MOD)%MOD;
            }
        }
    printf("%d\n",a[1][n]%MOD);
    return 0;
}