Pagini recente » Cod sursa (job #931964) | Cod sursa (job #1673237) | Cod sursa (job #523211) | Cod sursa (job #1475034)
#include <bits/stdc++.h>
using namespace std;
int i , L , lenght;
int dp[510][510];
string sir;
char alpha;
int main()
{
ifstream fin("palm.in");
ofstream fout("palm.out");
fin >> sir;
lenght = sir.size();
sir = ' ' + sir;
for (alpha = 'z'; alpha >= 'a'; --alpha)
{
for (i = 1; i <= lenght; ++i)
if (sir[i] == alpha) dp[i][i] = 1;
for (L = 1; L < lenght; ++L)
for (i = 1; i + L <= lenght; ++i)
{
if (sir[i] == sir[i+L] && sir[i] == alpha)
dp[i][i+L] = dp[i+1][i+L-1] + 2;
dp[i][i+L] = max(dp[i][i+L] , max(dp[i][i+L-1] , dp[i+1][i+L]));
}
}
fout << dp[1][lenght];
return 0;
}