Pagini recente » Cod sursa (job #782421) | Cod sursa (job #1783873) | Cod sursa (job #1864666) | Cod sursa (job #2150836) | Cod sursa (job #19405)
Cod sursa(job #19405)
#include <stdio.h>
#define NMAX 657
#define FIN "culori.in"
#define FOUT "culori.out"
int N, v[NMAX], s[NMAX][NMAX];
int max (int x, int y)
{
if (x > y)
return x;
return y;
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
scanf ("%d", &N);
for (int i = 1; i <= 2*N - 1; ++ i)
scanf ("%d", &v[i]);
for (int i = 1; i <= 2*N - 1; ++ i)
s[i][i] = 1;
for (int i = 2*N - 2; i >= 1; -- i)
for (int j = i + 1; j <= 2*N - 1; ++ j)
{
if (v[i] == v[j])
for (int k = i + 1; k < j; ++ k)
if (v[i+1] == v[k])
s[i][j] += (s[i+1][k] * s[k+1][j]) % 9901;
s[i][j] %= 9901;
}
printf ("%d\n", s[1][2*N - 1] % 9901);
return 0;
}