Cod sursa(job #2315100)
Utilizator | Usurelu Florian-Robert usureluflorian | Data | 9 ianuarie 2019 14:24:33 |
---|---|---|---|
Problema | Culori | Scor | 56 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#define MOD 9901
using namespace std;
const int nmax=1e3+3;
int n,k,v[nmax],d[nmax][nmax];
ifstream f ("culori.in");
ofstream g ("culori.out");
int main ()
{
f>>n;
for(int i=1;i<=2*n-1;++i) f>>v[i];
n=2*n-1;
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)
{
int j=i+l-1;
if(v[i]==v[j])
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;
}
}
g<<d[1][n];
return 0;
}