Cod sursa(job #3315521)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 14 octombrie 2025 15:15:48
Problema Culori Scor 24
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#define nmax 260
#define mod 9901
using namespace std;
ifstream cin("culori.in");
ofstream cout("culori.out");
int n,dp[nmax][nmax],v[2*nmax];
int main()
{
    cin>>n;
    for(int i=1;i<2*n;i++){
        cin>>v[i];
        dp[i][i]=1;
    }
    for(int lg=2;lg<2*n;lg++)
        for(int i=1;i<2*n-lg+1;i++){
            int j=i+lg-1;
            if(v[i]==v[j])
                for(int k=i;k<j;k++)
                    if(v[i]==v[k])
                        dp[i][j]=(dp[i][j]+dp[i][k]*dp[k+1][j-1]%mod)%mod;
        }
    cout<<dp[1][2*n-1];
    return 0;
}
/// dp[i][j] = nr de moduri de a construi arborele daca secventa de la i la j reprezinta liniarizarea sa