Pagini recente » Cod sursa (job #1486562) | Cod sursa (job #1047035) | Cod sursa (job #1958214) | Cod sursa (job #801046) | Cod sursa (job #863813)
Cod sursa(job #863813)
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
int i,j,k,sol,n,d[502][502][27];
char s[501];
int main()
{
f>>(s+1);
n=strlen(s+1);
for(i=1;i<=n;++i)
for(j=n;j;--j)
for(k=1;k<=26;++k)
{
d[i][j][k]=max(d[i-1][j][k],d[i][j+1][k]);
if(s[i]==s[j]&&s[i]==k+'a'-1)
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)
{
sol=max(sol,max(d[i][i][26]*2-1,d[i][i+1][26]*2));
}
g<<sol<<'\n';
return 0;
}