Cod sursa(job #2356360)

Utilizator shantih1Alex S Hill shantih1 Data 26 februarie 2019 17:14:47
Problema Culori Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 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;
				dp[i][h]+=dp[i+1][h-1];
				
				for(j=i+1;j<h;j++)
					if(v[j]==v[i])
					{
						dp[i][h]+=dp[i][j]*dp[j][h];
						dp[i][h]%=md;
					}
			}
	fout<<dp[1][n]<<"\n";
}