Cod sursa(job #2984808)

Utilizator BalasaRaduBalasa Radu BalasaRadu Data 24 februarie 2023 22:33:08
Problema Culori Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;

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

const int dim=600,mod=9901;

int n,v[dim];
int dp[dim][dim];

signed main(){
        fin>>n;
    for(int i=1;i<=2*n-1;i++){
        fin>>v[i];
    }
    for(int i=1;i<=2*n-1;i++){
        dp[i][i]=1;
    }
    for(int len=3;len<=2*n-1;len+=2){
        for(int st=1;st<=2*n-len;st++){
            int dr=st+len-1;
            if(v[st]==v[dr]){
                for(int mij=st+1;mij<dr;mij+=2){
                    if(v[st+1]==v[mij]&&v[mij+1]==v[dr]){
                        dp[st][dr]+=dp[st+1][mij]*dp[mij+1][dr];
                        dp[st][dr]%=mod;
                    }
                }
            }
        }
    }
        fout<<dp[1][2*n-1];
}