Pagini recente » Cod sursa (job #2454036) | Cod sursa (job #2819792) | Cod sursa (job #1390654) | Cod sursa (job #2805753) | Cod sursa (job #727968)
Cod sursa(job #727968)
#include<fstream>
#define NMAX 504
#define ASCII 26
#include<cstdio>
#define dim 666
#define diMM 31
#define SPECIAL_FOR for(i=1;i<=n;i++) for(j=n;j>=i;j--) for(k=1;k<=ASCII;k++)
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
int d[dim][dim][diMM];
int n;
char s[1005];
int i,j,k;
int rez;
void solve()
{
SPECIAL_FOR
{
d[i][j][k]=max(d[i-1][j][k],d[i][j+1][k]);
if(s[i]==s[j]&&s[i]-'a'+1==k)
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++)
{
rez=max(rez,2*d[i][i][26]-1);
rez=max(rez,2*d[i][i+1][26]);
}
}
int main()
{
f>>s;
n=strlen(s);
for(i=n;i>=1;i--)
s[i]=s[i-1];
g<<rez;
return 0;
}