Pagini recente » Cod sursa (job #3281443) | Cod sursa (job #2009333) | Cod sursa (job #304375) | Cod sursa (job #1690176) | Cod sursa (job #2559543)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("palm.in");
ofstream fout("palm.out");
#define SMAX 505
string s;
int n,d[SMAX][SMAX];
bool ok;
int main()
{
getline(fin,s);
n=s.size();
for (char c='z';c>='a';c--)
{
ok=false;
for (int i=0;i<n;i++)
if (s[i]==c) ok=true,d[i][i]=1;
if (ok)
{
for (int len=2;len<=n;len++)
for (int i=0;i+len-1<n;i++)
{
d[i][i+len-1]=max(d[i][i+len-1],max(d[i+1][i+len-1],d[i][i+len-2]));
if (s[i]==s[i+len-1] && s[i]==c)
d[i][i+len-1]=max(d[i][i+len-1],d[i+1][i+len-2]+2);
}
}
}
fout<<d[0][n-1]<<'\n';
return 0;
}