Pagini recente » Cod sursa (job #74482) | Cod sursa (job #336742) | Cod sursa (job #1124533) | Cod sursa (job #1693524) | Cod sursa (job #2606345)
#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;
for( int i = 1; i <= 2 * n - 1; i ++ )
fin>>v[i];
for( int i = 1; i <= 2 * n - 1; i ++ )
dp[i][i] = 1;
for( int l = 2; l <= 2 * n - 2; l += 2 ) {
for( int i = 1; i <= 2*n - 1 - 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][2*n - 1];
return 0;
}