Cod sursa(job #727967)

Utilizator robertpoeRobert Poenaru robertpoe Data 28 martie 2012 13:29:05
Problema PalM Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#define NMAX 504
#define ASCII 26
#define dim 666
#define diMM 31
#define SPECIAL_FOR for(i=1;i<=n;i++) for(j=n;j>=i;j--) for(k=1;k<=ASCII;k++)
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
int d[dim][dim][diMM];
int n;
char s[1005];
int i,j,k;
int rez;
void solve()
{
	SPECIAL_FOR
	{
		d[i][j][k]=max(d[i-1][j][k],d[i][j+1][k]);
		if(s[i]==s[j]&&s[i]-'a'+1==k)
			d[i][j][k]=max(d[i][j][k],d[i-1][j+1][k]+1);
		d[i][j][k]=max(d[i][j][k],d[i][j][k-1]);
	}	
	for(i=1;i<=n;i++)
	{
		rez=max(rez,2*d[i][i][26]-1);
		rez=max(rez,2*d[i][i+1][26]);
	}
}
int main()
{
	f>>s;
	n=strlen(s);
	for(i=n;i>=1;i--)
		s[i]=s[i-1];
	g<<rez;
	return 0;
}