Pagini recente » Cod sursa (job #1031743) | Cod sursa (job #1710891) | Cod sursa (job #1656593) | Cod sursa (job #2597769) | Cod sursa (job #1954880)
#include <fstream>
using namespace std;
ifstream fin( "culori.in" );
ofstream fout( "culori.out" );
const int nmax = 2 * 256 - 1;
const int mod = 9901;
int e[ nmax + 1 ];
int d[ nmax + 1 ][ nmax + 1 ];
int main() {
int n;
fin >> n;
n = n * 2 - 1;
for( int i = 1; i <= n; ++ i ) {
fin >> e[ i ];
d[ i ][ i ] = 1;
}
for( int x = 2; x <= n - 1; x += 2 ) {
for( int i = 1; i + x <= n; ++ i ) {
int j = i + x;
d[ i ][ j ] = 0;
if ( e[ i ] == e[ j ] ) {
for( int k = i + 1; k < j; ++ k ) {
if ( e[ i + 1 ] == e[ k ] ) {
d[ i ][ j ] += d[ i + 1 ][ k ] * d[ k + 1 ][ j ];
d[ i ][ j ] %= mod;
}
}
}
}
}
fout << d[ 1 ][ n ] << "\n";
fin.close();
fout.close();
return 0;
}