Pagini recente » Cod sursa (job #517845) | Cod sursa (job #1902058) | Cod sursa (job #792203) | Cod sursa (job #2149890) | Cod sursa (job #635852)
Cod sursa(job #635852)
#include <algorithm>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int maxGs = 0;
int sol[512][512];
int main()
{
ifstream cin("palm.in");
ofstream cout("palm.out");
string str;
cin >> str;
for (int i = 0; i < str.size(); i++)
sol[i][i] = 1;
for (int ch = 'z'; ch >= 'a'; ch--)
for (int l = 1; l < str.size(); l++)
for (int i = 0; i + l < str.size(); i++)
{
int x = i, y = i + l;
if (str[x] == str[y] && str[x] == ch)
sol[x][y] = sol[x + 1][y - 1] + 2;
sol[x][y] = max(sol[x][y], max(sol[x + 1][y], sol[x][y - 1]));
}
cout << sol[0][str.size() - 1];
return 0;
}