Pagini recente » Cod sursa (job #2481293) | Cod sursa (job #2796481) | Cod sursa (job #2380834) | Cod sursa (job #1478630) | Cod sursa (job #636421)
Cod sursa(job #636421)
#include <fstream>
#include <cstring>
#define max(a,b) ((a<b)?b:a)
using namespace std;
int a[502][502],i,j,n;
char el[502][502];
string s;
int main()
{
ifstream fi("palm.in");
ofstream fo("palm.out");
fi>>s;
n=s.length();
for(i=n;i>0;i--)
for(a[i][i]=1,el[i][i]=s[i-1],j=i+1;j<=n;j++)
{
if(s[i-1]==s[j-1] and s[i-1]<=el[i+1][j-1]) {
a[i][j]=a[i+1][j-1]+2;
el[i][j]=s[i-1];
} else
if(s[i-1]!=s[j-1]) a[i][j]=max(a[i+1][j],a[i][j-1]);
}
fo<<a[1][n]<<"\n";
return 0;
}