Pagini recente » Cod sursa (job #2844241) | Cod sursa (job #397408) | Cod sursa (job #2820033) | Cod sursa (job #1196658) | Cod sursa (job #19561)
Cod sursa(job #19561)
//100p
#include <stdio.h>
#define NMAX 550
#define MOD 9901
int A[NMAX][NMAX];
int C[NMAX];
int i, j, k, aux, N;
int main()
{
freopen("culori.in", "r", stdin);
freopen("culori.out", "w", stdout);
scanf("%d", &N);
N = 2 * N;
for (i = 1; i < N; i++) scanf("%d", &C[i]);
for (i = 1; i < N; i++) A[i][i] = 1;
for (aux = 1; aux < N; aux++)
for (i = 1; i < N - aux; i++)
if (C[i] == C[i + aux] && (2*i + aux)%2 == 0)
{
j = i + aux;
for (k = i + 1; k < j; k++)
if (C[i+1] == C[k])
A[i][j] = (A[i][j] + A[i + 1][k] * A[k + 1][j]) % MOD;
}
printf("%d\n", A[1][N - 1]);
return 0;
}