Cod sursa(job #2356572)

Utilizator shantih1Alex S Hill shantih1 Data 26 februarie 2019 19:51:57
Problema Culori Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>

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

int n,i,j,l,nr,h,md=9901;
int dp[515][515],v[515];

int main() {
	
	fin>>n;
	n=2*n-1;
	for(i=1;i<=n;i++)
		fin>>v[i], dp[i][i]=1;
	
	for(l=3;l<=n;l+=2)
		for(i=n-l+1;i>=1;i--)
			if(v[i]==v[i+l-1])
			{
				h=i+l-1;
				for(j=i+2;j<=h;j+=2)
					if(v[j]==v[i])
					{
						dp[i][h]+=dp[i+1][j-1]*dp[j][h];
						dp[i][h]%=md;
					}
			}

	fout<<dp[1][n]<<"\n";
	
	/*- Ce te legeni, codrule,
	 Fără ploaie, fără vânt,
	 Cu crengile la pământ?
	 - De ce nu m-aş legăna,
	 Dacă trece vremea mea!
	 Ziua scade, noaptea creşte
	 Şi frunzişul mi-l răreşte.*/
}