Pagini recente » Cod sursa (job #2591139) | Cod sursa (job #504827) | Cod sursa (job #2514294) | Cod sursa (job #1016426) | Cod sursa (job #516711)
Cod sursa(job #516711)
#include <fstream>
using namespace std;
const char InFile[]="culori.in";
const char OutFile[]="culori.out";
const int MaxN=600;
const int MOD=9901;
ifstream fin(InFile);
ofstream fout(OutFile);
int N,A[MaxN][MaxN],V[MaxN];
int main()
{
fin>>N;
N<<=1;--N;
for(register int i=0;i<N;++i)
{
fin>>V[i];
}
fin.close();
for(register int i=0;i<N;++i)
{
A[i][i]=1;
}
for(register int l=1;l<=N;++l)
{
for(register int i=0;i<N-l;++i)
{
int j=i+l;
if(V[i]==V[j])
{
for(register int k=i+1;k<j;++k)
{
if(V[i+1]==V[k])
{
A[i][j]+=(A[i+1][k]*A[k+1][j])%MOD;
A[i][j]%=MOD;
}
}
}
}
}
fout<<A[0][N-1];
fout.close();
return 0;
}