Pagini recente » Cod sursa (job #2605049) | Cod sursa (job #2604895)
#include <bits/stdc++.h>
//std::ifstream fin ("input.txt");
//std::ofstream fout ("output.txt");
std::ifstream fin ("culori.in");
std::ofstream fout ("culori.out");
int dp[1005][1005];
int x[1005];
int main()
{
int V, n, i, j, k;
int mod = 9901;
fin >> V;
n = 2 * V - 1;
for (i=1; i<=n; i++)
fin >> x[i];
for (i=1; i<=n; i++)
dp[i][i] = 1;
for (int len = 2; len < n; len+=2){
for (i=1; i<=n-len; i++){
j = i + len;
if (x[i] == x[j])
for (k=i+1; k<j; k++)
if (x[i+1] == x[k])
dp[i][j] = (dp[i][j] + dp[i+1][k] * dp[k+1][j]) % mod;
}
}
fout << dp[1][n] << '\n';
return 0;
}