Cod sursa(job #2315096)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 9 ianuarie 2019 14:19:09
Problema Culori Scor 48
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ("culori.in");
ofstream g ("culori.out");
const int mod=9901;
const int nmax=1e3+3;
int v[nmax],dp[nmax][nmax],n,nr,prod;
int main()
{
    f>>n;
    nr=2*n-1;
    for(int i=1;i<=nr;++i) f>>v[i];
    for(int i=1;i<=nr;++i) dp[1][i]=1;
    for(int k=2;k<=nr;++k)
    {
        for(int i=1;i<=nr-k+1;++i)
        {
            if(v[i]==v[i+k-1])
            {
                for(int j=i+1;j<=i+k-1;++j) if(v[j]==v[i]) dp[k][i]=(dp[k][i]+dp[j-i-1][i+1]*dp[k-j+i][j])%mod;
                dp[k][i]%=mod;
            }
        }
    }
    g<<dp[nr][1];
    return 0;
}