Cod sursa(job #1674896)
Utilizator | Data | 4 aprilie 2016 22:18:58 | |
---|---|---|---|
Problema | Culori | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#define mod 9901
using namespace std;
int c[524];
long a[524][524];
ifstream fin("culori.in");
ofstream fout("culori.out");
int main()
{int i,j,k,p,n;
fin>>n;
n=n*2-1;
for(i=1;i<=n;i++)fin>>c[i];
for(i=1;i<=n;i++)a[i][i]=1;
for(p=2;p<n;p+=2)
for(i=1;i<=n-p;i++)
{j=i+p;
if(c[i]==c[j])
for(k=i+1;k<j;k++)
if(c[i+1]==c[k])
a[i][j]=(a[i][j]+a[i+1][k]*a[k+1][j])%mod;
}
fout<<a[1][n];
}