Pagini recente » Profil Adriana_S | Cod sursa (job #2824881) | Mihnea Andreescu | Istoria paginii winter-challenge-1/rezultate-9-10 | Cod sursa (job #2230052)
#include <bits/stdc++.h>
#define N 260
#define MOD 9901
using namespace std;
ifstream fin("culori.in") ;
ofstream fout("culori.out") ;
int dp[2*N][2*N] ;
int v[2*N] ;
int main()
{
int n , i , lg , j , k ;
fin >> n ;
n = 2*n-1 ;
for ( i = 1 ; i <= n ; i++ )
{
dp[i][i] = 1 ;
fin >> v[i] ;
}
for ( lg = 3 ; lg <= n ; lg = lg+2 )
{
for ( i = 1 ; i + lg-1 <= n ; i++ )
{
j = lg+i -1 ;
if ( v[i] == v[j] )
for ( k = i+1 ; k < j ; k++ )
if ( v[i+1] == v[k] )
dp[i][j] = (dp[i][j]+dp[i+1][k]*dp[k+1][j]) % MOD ;
}
}
fout << dp[1][n] ;
}