Pagini recente » Cod sursa (job #887626) | Cod sursa (job #343871) | Cod sursa (job #2341746) | Cod sursa (job #1783787) | Cod sursa (job #635841)
Cod sursa(job #635841)
#include <fstream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char s[512];
int sol,bst[512][512],n;
void read ()
{
ifstream in ("palm.in");
in>>s;
}
void solve ()
{
n=strlen(s);
sol=1;
for(int i=0;i<n;++i)
bst[i][i]=1;
for(int i=0;i+1<n;++i)
if(s[i]==s[i+1])
{
bst[i][i+1]=2;
sol=2;
}
for(int k=3;k<=n;++k)
for(int i=0;i+k<n+1;++i)
{
int j=i+k-1;
if(s[i]==s[j]&&(s[i]+1==s[i+1]||s[i]==s[i+1])&&(s[j]+1==s[j-1]||s[j]==s[j-1]))
bst[i][j]=bst[i+1][j-1]+2;
sol=max(sol,bst[i][j]);
}
}
void out ()
{
freopen ("palm.out","w",stdout);
printf("%d",sol);
}
int main ()
{
read ();
solve ();
out ();
return 0;}