Pagini recente » Cod sursa (job #2037665) | Cod sursa (job #2221096) | Cod sursa (job #2355806) | Cod sursa (job #2432492) | Cod sursa (job #447717)
Cod sursa(job #447717)
#include <iostream>
using namespace std;
#define maxn 257
#define mod 9901
int N, C[2*maxn], A[2*maxn][2*maxn];
int main() {
FILE *f1=fopen("culori.in", "r"), *f2=fopen("culori.out", "w");
int i, c, k;
fscanf(f1, "%d\n", &N);
for(i=1; i<=2*N - 1; i++) {
fscanf(f1, "%d", &C[i]);
A[i][i] = 1;
}
for(c=1; c<2*N-1; c++) {
for(i=1; i<=2*N-1-c; i++) {
//calculez A[i][i+c]
if(C[i] == C[i+c]) {
for(k=i+1; k<i+c; k++) {
if(C[i+1] == C[k]) {
A[i][i+c]+=(A[i+1][k] * A[k+1][i+c]);
A[i][i+c]%=mod;
}
}
}
}
}
fprintf(f2, "%d\n", A[1][2*N-1]%mod);
fclose(f1); fclose(f2);
return 0;
}