Cod sursa(job #955663)

Utilizator tudorv96Tudor Varan tudorv96 Data 1 iunie 2013 12:03:57
Problema Culori Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <iostream>
using namespace std;

#define in "culori.in"
#define out "culori.out"
#define N 520
#define MOD 9901

int v[N], a[N][N], n;

int main () {
	ifstream fin (in);
	fin >> n;
	n = 2 * n - 1;
	for (int i = 1; i <= n; ++i) {
		fin >> v[i];
		a[i][i] = 1;
	}
	fin.close();
	for (int d = 1; d < n; ++d)
		for (int j = 1; j + d <= n; ++j)
			if (v[j] == v[j + d])
				for (int k = j + 1; k <= j + d; ++k) {
					a[j][j + d] = a[j][j + d] + a[j + 1][k] * a[k + 1][j + d];
					a[j][j + d] %= MOD;
				}
	ofstream fout (out);
	fout << a[1][n];
	fout.close();
	return 0;
}