Pagini recente » Cod sursa (job #108024) | Cod sursa (job #1258213) | Cod sursa (job #543036) | Cod sursa (job #235259) | Cod sursa (job #19002)
Cod sursa(job #19002)
#include <stdio.h>
#include <string.h>
#define MAXN 512
#define MOD 9901
int N, C[MAXN];
int A[MAXN][MAXN];
int main(void)
{
freopen("culori.in", "rt", stdin);
freopen("culori.out", "wt", stdout);
int i, j, k, r, M;
scanf("%d\n", &N);
M = 2*N-1;
for(i = 1; i <= 2*N-1; i++)
scanf("%d ", &C[i]);
for(i = M; i >= 1; i--)
for(A[i][i] = 1, j = i+1; j <= M; j++)
{
r = 0;
for(k = i+2; k <= j; k++)
if(C[i] == C[k] && C[k] == C[j])
r += A[i+1][k-1]*A[k][j], r %= MOD;
A[i][j] = r;
}
printf("%d\n", A[1][M]);
return 0;
}