Pagini recente » Cod sursa (job #2518452) | Cod sursa (job #2864324) | Cod sursa (job #1507474) | Cod sursa (job #2696602) | Cod sursa (job #2606347)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("culori.in");
ofstream fout("culori.out");
const int NMAX = 256;
const long long MOD = 9901;
long long v[2 * NMAX], dp[2 * NMAX][2 * NMAX];
int main() {
int n;
fin>>n;
n = 2*n - 1;
for( int i = 1; i <= n; i ++ )
fin>>v[i];
for( int i = 1; i <= n; i ++ )
dp[i][i] = 1;
for( int l = 2; l <= n - 1; l += 2 ) {
for( int i = 1; i <= n - l; i ++ ) {
int j = i + l;
if( v[i] == v[j] ) {
for( int k = i; k <= j; k ++ ) {
if( v[i] == v[k] )
dp[i][j] = (dp[i][j] + (dp[i + 1][k - 1] * dp[k][j]) % MOD) % MOD;
}
}
}
}
fout<<dp[1][n];
return 0;
}