Pagini recente » Cod sursa (job #2413831) | Cod sursa (job #1215181) | Cod sursa (job #1592999) | Cod sursa (job #2470278) | Cod sursa (job #2356545)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("culori.in");
ofstream fout("culori.out");
int n,i,j,l,nr,h,md=9901;
int dp[515][515],v[515];
int main() {
fin>>n;
n=2*n-1;
for(i=1;i<=n;i++)
fin>>v[i], dp[i][i]=1;
for(l=3;l<=n;l+=2)
for(i=n-l+1;i>=1;i--)
if(v[i]==v[i+l-1])
{
h=i+l-1;
dp[i][h]+=dp[i+1][h-1];
for(j=i+1;j<h;j++)
if(v[j]==v[i])
{
dp[i][h]+=dp[i+1][j-1]*dp[j][h];
dp[i][h]%=md;
}
}
fout<<dp[1][n]<<"\n";
}