Pagini recente » Cod sursa (job #878643) | Cod sursa (job #2508768) | Cod sursa (job #2708041) | Cod sursa (job #2051571) | Cod sursa (job #2356572)
#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;
for(j=i+2;j<=h;j+=2)
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";
/*- Ce te legeni, codrule,
Fără ploaie, fără vânt,
Cu crengile la pământ?
- De ce nu m-aş legăna,
Dacă trece vremea mea!
Ziua scade, noaptea creşte
Şi frunzişul mi-l răreşte.*/
}