Pagini recente » Cod sursa (job #2198748) | Cod sursa (job #3244255) | Cod sursa (job #288947) | Cod sursa (job #1031725) | Cod sursa (job #18688)
Cod sursa(job #18688)
#include <cstdio>
#define Nmax 512
const int modul = 9901;
int n;
int sir[Nmax], a[Nmax][Nmax];
void citire()
{
int i;
scanf("%d\n", &n);
n = 2 * n - 1;
for (i = 1; i <= n; ++i)
scanf("%d ", &sir[i]);
}
void solve()
{
int i, j, k, d;
for (i = 1; i <= n; ++i)
a[i][i] = 1;
for (d = 1; d <= n; ++d)
for (i = 1; i + d <= n; ++i)
{
j = i + d;
if (sir[i] == sir[j])
{
for (k = i + 1; k < j; ++k)
if (sir[k] == sir[i])
{
a[i][j] += a[i][k] * a[k+1][j-1];
a[i][j] %= modul;
}
a[i][j] += a[i+1][j-1];
if (a[i][j] >= modul)
a[i][j] -= modul;
}
}
printf("%d\n", a[1][n]);
}
int main()
{
freopen("culori.in", "r", stdin);
freopen("culori.out", "w", stdout);
citire();
solve();
return 0;
}