Pagini recente » Cod sursa (job #2960153) | Cod sursa (job #424715) | Cod sursa (job #1293130) | Rating Taslaoanu Catalina (Cata_T) | Cod sursa (job #1570702)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("culori.in");
ofstream out("culori.out");
const int MAX_N = 256;
const int MOD = 9901;
int D[2 * MAX_N][2 * MAX_N];
int C[2 * MAX_N];
int main() {
int n, i, j, k;
in >> n;
n = 2 * n - 1;
for(i = 1; i <= n; i++) {
in >> C[i];
D[i][i] = 1;
}
for(i = 3; i <= n; i += 2) {
for(j = 1; j <= n - i + 1; j++) {
if(C[j] == C[j + i - 1]) {
for(k = j + 1; k < j + i - 1; k++) {
if(C[j + 1] == C[k]) {
D[j][j + i - 1] = (D[j][j + i - 1] + D[j + 1][k] * D[k + 1][j + i - 1]) % MOD;
}
}
}
}
}
out << D[1][n] << '\n';
return 0;
}