Pagini recente » Cod sursa (job #1612146) | Cod sursa (job #2782168) | Cod sursa (job #2060510) | Cod sursa (job #2123565) | Cod sursa (job #1205143)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("culori.in");
ofstream g ("culori.out");
const int MOD = 9901;
const int NMAX = 600;
int n;
int v[NMAX], sol[NMAX][NMAX];
void citeste () {
f >> n; n = 2 * n - 1;
for (int i = 1; i <= n; i++) f >> v[i], sol[i][i] = 1;
}
void rezolva () {
for (int lg = 3; lg <= n; lg += 2)
for (int i = 1; i + lg - 1 <= n; i++) {
int j = i + lg - 1;
if (v[i] == v[j])
for (int k = i + 1; k < j; k++) sol[i][j] = (sol[i][j] + sol[i + 1][k] * sol[k + 1][j]) % MOD;
}
g << sol[1][n] << '\n';
}
int main () {
citeste();
rezolva();
return 0;
}