Pagini recente » Cod sursa (job #2675080) | Cod sursa (job #2478083) | Cod sursa (job #3124632) | Cod sursa (job #1243477) | Cod sursa (job #1511601)
#include <fstream>
#include <algorithm>
#include <cstring>
#include <vector>
#define DIM 300
#define MOD 9901
#define infile "culori.in"
#define outfile "culori.out"
using namespace std;
int dp[DIM][DIM], color[DIM];
int main() {
ifstream fin(infile);
ofstream fout(outfile);
int n;
fin >> n;
n = 2 * n - 1;
for (int i = 1; i <= n; ++i) {
fin >> color[i];
dp[i][i] = 1;
}
for (int len = 3; len <= n; len += 2) {
for (int i = 1; i + len - 1 <= n; ++i) {
int j = i + len - 1;
if (color[i] != color[j])
continue;
for (int k = i + 1; k <= j; ++k) {
dp[i][j] = (dp[i][j] + dp[i + 1][k] * dp[k + 1][j]) % MOD;
}
}
}
fout << dp[1][n];
return 0;
}