Pagini recente » Cod sursa (job #1783719) | Cod sursa (job #1758231) | Cod sursa (job #2318014) | Cod sursa (job #1232138) | Cod sursa (job #1392774)
#include <stdio.h>
#define MAXN 256
#define MOD 9901
int d[2 * MAXN - 1][2 * MAXN - 1], v[2 * MAXN - 1];
int main(){
FILE *in = fopen("culori.in", "r");
int n, i, j, k, ii;
fscanf(in, "%d", &n);
n = n * 2 - 1;
for(i = 0; i < n; i++)
fscanf(in, "%d", &v[i]);
fclose(in);
for(i = 0; i < n; i++)
d[i][i] = 1;
for(i = 3; i <= n; i += 2){
for(j = 0; j + i - 1 < n; j++){
k = j + i - 1;
if(v[j] == v[k]){
for(ii = j + 1; ii < k; ii++){
if(v[j + 1] == v[ii]){
d[j][k] += d[j + 1][ii] * d[ii + 1][k];
d[j][k] %= MOD;
}
}
}
}
}
FILE *out = fopen("culori.out", "w");
fprintf(out, "%d", d[0][n - 1]);
fclose(out);
return 0;
}