Cod sursa(job #1799695)
Utilizator | Data | 6 noiembrie 2016 17:41:27 | |
---|---|---|---|
Problema | Culori | Scor | 48 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream>
using namespace std;
ifstream f("culori.in");
ofstream g("culori.out");
int n,m,i,j,k,c[600],a[1<<10][1<<10];
int main()
{
f>>n;
m=2*n-1;
for(i=1;i<=m;++i)
{
f>>c[i];
a[i][i]=1;
}
for(i=1;i<=m;++i)
for(j=1;j<=m;++j)
if(c[i+j]==c[j])
for(k=j+1;k<=min(i+j,m);++k)
a[j][i+j]=(a[j][i+j]+a[j+1][k]*a[k+1][i+j])%9901;
g<<a[1][m];
return 0;
}