Pagini recente » Cod sursa (job #11236) | Cod sursa (job #1573014) | Cod sursa (job #2897220) | Cod sursa (job #675331) | Cod sursa (job #1164731)
#include<cstdio>
using namespace std;
#define NMAX 600
#define MOD 9901
int N , v[NMAX] , dp[NMAX][NMAX];
int main()
{
freopen("culori.in" , "r" , stdin );
freopen("culori.out" , "w" , stdout );
scanf("%d" , &N );
N = 2*N-1;
for(int i = 1 ; i<= N ; ++i )
scanf("%d" , &v[i]);
for(int i = 1 ; i<= N ; ++i )
dp[i][i] = 1;
for(int l = 3 ; l <= N ; l+=2 )
for(int i = 1 ; i + l-1 <= N ; ++i )
{
int j = i+l-1;
if(v[j] != v[i])continue;
for(int k = i+1 ; k < j ; ++k )
dp[i][j] = (dp[i][j] + dp[i+1][k]*dp[k+1][j])%MOD;
}
printf("%d" , dp[1][N]);
return 0;
}