Cod sursa(job #2333767)
Utilizator | Data | 1 februarie 2019 22:08:02 | |
---|---|---|---|
Problema | Culori | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
#define MOD 9901
using namespace std;
int n,k,v[520],d[520][520],l;
ifstream fin ("culori.in");
ofstream fout ("culori.out");
int main ()
{
fin>>n;
n=2*n-1;
for(int i=1;i<=n;++i)
fin>>v[i];
for(int i=1;i<=n;++i)
d[i][i]=1;
for(int l=1;l<=n;++l)
{
for(int i=1;i<=n-l+1;++i)
{
j=i+l-1;
if(v[i]==v[j]&&(i+j)%2==0)
for(int k=i+1;k<j;++k)
if(v[i+1]==v[k])
d[i][j]=(d[i][j]+(d[i+1][k]*d[k+1][j]))%MOD;
}
}
fout<<d[1][n];
return 0;
}