Cod sursa(job #2496149)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 20 noiembrie 2019 11:58:32
Problema Culori Scor 0
Compilator cpp-64 Status done
Runda casiaiziscanudaisimulareprimaora Marime 0.62 kb
#include <fstream>
#include <iostream>
using namespace std;

ifstream fin ("culori.in");
ofstream fout ("culori.out");

const int MAXN = 600,mod = 9901;

int v[MAXN],n,d[MAXN][MAXN];

int main() {

	fin >> n;
	n = 2 * n - 1;
	for ( int i = 1;i <= n; ++i)
		fin >> v[i];
	for ( int i = 1; i <= n; ++i)
		d[i][i] = 1;
	for ( int l = 1; l <= n; ++l)
		for ( int i = 1; i <= n-l; ++i) {
			 int j = i + l;
			if ( v[i] == v[j]) {
				d[i][j] = (d[i][j] +  d[i+1][j-1]) % mod;
			
						for ( int k = i+1; k< j; ++k)
					if ( v[k] == v[i])
						d[i][j] = (d[i][j] + (1LL) * d[i][k] * d[k][j]) % mod;
				}
		}
	fout << d[1][n];
		
			
}