Pagini recente » Cod sursa (job #2459083) | Cod sursa (job #2431945) | Cod sursa (job #1018578) | Cod sursa (job #2902208) | Cod sursa (job #2329088)
#include <fstream>
using namespace std;
ifstream fin("culori.in");
ofstream fout("culori.out");
const int DN=605,M=9901;
int n,a[DN],dp[DN][DN];
int main()
{
fin>>n;
n=2*n-1;
for(int i=1;i<=n;i++)
fin>>a[i];
for(int l=1;l<=n;l++)
{
for(int i=1;i<=n-l+1;i++)
{
int j=i+l-1;
if(i==j)
{
dp[i][j]=1;
continue;
}
if(a[i]!=a[j])
{
dp[i][j]=0;
continue;
}
dp[i][j]=dp[i+1][j-1];
for(int h=i+1;h<j;h++)
if(a[h]==a[i])
dp[i][j]=(dp[i][j]+dp[i][h]*dp[h+1][j-1])%M;
}
}
fout<<dp[1][n];
}