Pagini recente » Cod sursa (job #98139) | Cod sursa (job #2577836) | Cod sursa (job #174777) | Cod sursa (job #256029) | Cod sursa (job #1116824)
#include <fstream>
#define mod 9901
using namespace std;
ifstream fin ("culori.in");
ofstream fout ("culori.out");
int n,c[501];
int dp[501][501];
int main()
{
fin>>n;
n = 2*n-1;
for (int i=1; i<=n; ++i)
fin>>c[i];
for (int i=1; i<=n; ++i)
dp[i][i] = 1;
for (int i=2; i<=n; i+=2)
{
for (int j=1; j+i <=n; ++j)
{
if (c[j] != c[i+j])
continue;
for (int k=j+1; k<=j+i; ++k)
{
if (c[k] == c[j])
dp[j][i+j] += dp[j+1][k-1]*dp[k][i+j]%mod;
if (dp[j][i+j] >= mod) dp[j][i+j] -= mod;
}
}
}
fout<<dp[1][n];
}