Pagini recente » Cod sursa (job #1194846) | Cod sursa (job #1781295) | Cod sursa (job #351497) | Cod sursa (job #607043) | Cod sursa (job #639814)
Cod sursa(job #639814)
#include<fstream>
#include<cstdio>
#include<fstream>
using namespace std;
int n,rez=0,k,d[501][501][27],i=0,j;
char a[501],b[501],x;
int main()
{
ifstream f("palm.in");
ofstream g("palm.out");
while(f>>x)
a[i++]=x;
n=i-1;
for(i=0;i<n;i++)
{
b[n-i+1]=a[i];
d[i][i][a[i]-'a']=1;
}
for(i=n-1;i>=0;--i)
for(j=i+1;j<=n;++j)
if(a[i]==a[j])
{
for(k=a[i]-'a';k<26;++k)
d[i][j][a[i]-'a']=max(d[i][j][a[i]-'a'],d[i+1][j-1][k]+2);
}
else
for(k=0;k<26;++k)
d[i][j][k]=max(d[i+1][j][k],d[i][j-1][k]);
for(i=0;i<26;i++)
if(rez<d[0][n][i])
rez=d[0][n][i];
g<<rez;
return 0;
}