Pagini recente » Cod sursa (job #2399261) | Cod sursa (job #2910057) | Cod sursa (job #2786156) | Cod sursa (job #775037) | Cod sursa (job #2844258)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elimin2.in");
ofstream fout("elimin2.out");
string s;
short n, v[2005], ans;
short l[2005][12], r[2005][12];
short dp[2005][2005];
void solve(int a, int b, int val)
{
if(val <= 0)
return;
for(int i = 9; i >= 0; i--)
{
if(dp[r[a][i]][l[b][i]] == val)
{
fout << i;
solve(r[a][i] + 1, l[b][i] - 1, val - 2);
if(val != 1)
fout << i;
break;
}
}
}
int main()
{
fin >> s;
for(int i = 0; i < s.size(); i++)
v[i + 1] = s[i] - '0';
n = s.size();
for(int i = 1; i <= n; i++)
{
for(int j = 0; j <= 9; j++)
l[i][j] = l[i - 1][j];
l[i][v[i]] = i;
}
for(int i = n; i >= 1; i--)
{
for(int j = 0; j <= 9; j++)
r[i][j] = r[i + 1][j];
r[i][v[i]] = i;
}
for(int i = 1; i <= n; i++)
dp[i][i] = 1;
for(int d = 1; d <= n - 1; d++)
for(int i = 1; i + d <= n; i++)
{
int j = i + d;
if(v[i] == v[j])
dp[i][j] = dp[i + 1][j - 1] + 2;
else
dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);
}
for(int i = 1; i <= 9; i++)
ans = max(ans, dp[r[1][i]][l[n][i]]);
solve(1, n, ans);
return 0;
}
/*
.::////++ossss+. `++:``
-md+ohddhhhhhhMM/ oMMMNds+-`
`/dh` /M: `::://///mMo `hMm+oydmmNhs/-`
`:hNNM/ /M+ -:://///hMh `mMy/////+oydMNd`
`/dNmsoMd` :Mm.`.-:://///yMd`.MM+////////oNMy`
`/hNms///dM: :MN/--::::////oMm.-MN/////////dMN-
`/hNms/////oMd`-NN+::::::////+mNhhMh////////oMMo
yMNy////////dMhdNm/:::::://////+oss/////////mMm.
/NNs////////oddyo/::::::://////////////////sMM+
`+NMs//////////::::::::::://///////////////mMh`
`+NMs//////////::::::::::////////////////sMN:
`+MNo/////////::::::::::////////////////mMs`
`+MNo/////////:::::::::///////////////sMm.
oMN+////////:::::::::///////////////NM/
oMm+/////////+ooooosssssssssooo+//yMh
`oMm+////+osssssssssssssssssssssssNN.
`oMm+/osssssssssssssssssssssssssdM/
`+NmysssssssssssssssssssssssshNMs
-hMmhyssssssssssssssssyhdNNho-`
`-ohmNmmdddddddmmmmmhys+-``
``.-:://///::-..```
````..--:://++oosyyhh+`
``` .+osyyhdmmmmmmmmmmddddhyyshMM/
-sdmdy. -dMdhyyysooo+++/////::///:::yMm--os+-`
.dMMMMm-/mMmyhddd+::::::::::::omNmmdyohMmNMMMNo
+MMMMMNmMMMMMMMMMs::::::::::::sMMMMMMMNMMMMMMMm.
oMMMMMMMMMMMMMMNd/::::::::::::+mNMMMMMMMMMMMMMM:
/NMMMMMMMMNNmdyo/:::::/+++/::::/ohmmNMMMMMMMMMN-
`+hmNNdhyso+/::::::++:+ooo/::+::::/+oyhdmNNNNNy`
:mMy/:::::::::::/M+::::::::y::::::::://+oNMs`
`/NNs:/shhs/::::::+M:::::::::y:::::::/+//::sMm-
``````oNNo:oNMMMMNy:::::+M:::::::::y:::::+hNMMmo::hMh` ````
`.:oydddhhMm+:/yyyhmMMMy::::+M:::::::::y::::sNMMMMMMo:/dMs``/oosssso/-`
`+hNMNNNNNNNm/:::::://+ymN/:::+N:::::::::y:::sNmhso++sy::/mM+sMNNNNNNNNNh-
+MMNNNNNNNNNd/::::::+sso:o::::+N:::::::::y:::+/+ss+:::::::+NMNNNNNNNNNNNMy
+MMNNNNNNNNNNs::::::::::+ooo/:/+:::::::::dyyssso:::::::::::oNNNNNNNNNNNNMh
-MMMNNNNNNNNNmdddhhhyyyNds//:::::::::::::///+sdNmhhhhhhhddddNNNNNNNNNNNNMo
`dMMMMMMNNNNNNNNNNNNNNMm/::::::::::::::::::::::/mMNNNNNNNNNNNNNNNNNNMMMMN-
:NMMMMMMMMMMMMMMMMMMMMMmyo+//:::::::::::::://+odMMMMMMMMMMMMMMMMMMMMMMM+`
+MNNmNMMMMMMMMMMMMMMMMMMMMNNNNmddhhhhhddmNNNMMMMMMMMMMMMMMMMMMMMMMMNd/`
:mMdh/.-::/+ooosssyyyhhhhhhhhhddddddddddddddddddddhhhyyssooo+/:ydmMMm.
`oNMNhhy: `` `````````````````````````` `+hhhNMMm/`
-hMMNmhhhyo. `` ` `` -shhhhmNMMNs`
`+mMMNNmhhhhhyo-` `` . `` .:shhhhhhmNNNMMh.
.yMMNNNNmhhhhhhhhs+-.` `` . ` `-/oyhhhhhhhhmNNNNMMd:
:dMMNNNNNmhhhhhhhhhhhyso/:-.`` ` ``..-/+oyyhhhhhhhhhhhNNNNNNMMN+
`+NMMNNNNNNmhhhhhhhhhhhhhhhhyyssso+++//////://///+++osssyyhhhhhhhhhhhhhhhhhNNNNNNMMMN-
`sMMMMMNNNNNNhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdNNNNNMMMMMs
.MMMMMMMMNNNNdhhhhhhhhhhhhhhhhhhhhhhhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmNNNMMMMMMN:
`+NMMMMMMMNNNmhhhhhhhhhhhhhhhhhhhhhhddmmmmmdhhhmmmmmdhhhhhhhhhhhhhhhhhhhhhdNNNMMMMMMm:
.yNMMMMMMMNNd/syhhhhhhhhhhhhhhhhdmmmmmmmdhhhhdmmmmdhsssssyyhhhhhhhhhhyyomNNMMMMMMh.
:dMMMMMMMMNs`.+shhhhhhhhhhysssssssyyhhhhhhhmmdysssssssssssyhhhhhhs/.`hNMMMMMMMs`
`+NMMMMMMMMh. .:+syhhhhsssssssssssssssshddssssssssssssssshys+:` `hMMMMMMMN/`
.sMMMMMMMMN/ `-:+oooosssssssssssssssssssssssooo+//:-.` -mMMMMMMMM/
:MMMMMMMMMd: ` ```....-----------...```` ` `sNMMMMMMMNMd`
`sMMmMMMMMMMMh/` .oNMMMMMMMNdhMM+
/MMmyhmMMMMMMMMmo- `` `:sNMMMMMMMNdhyymMN-
.mMmyyyyhmNMMMMMMMNdo:` `` `:odNMMMMMMMNdhyyyyyNMh`
`hMMysyyyyyhdNMMMMMMMMNmy+:.` `` `.:+hmNMMMMMMMMNdhyyyyssshMMo
oMMhssssyyyyyyhdNMMMMMMMMMNNmhs+/:---.-----://oyhmNNMMMMMMMMMNmhhyyyyysssssdMN:
:NMdsssssssyyyyyyhhmNMMMMMMMMMMMMMMNNNNmNNNNNMMMMMMMMMMMMMMMNdhyyyyyysssssssyNMd`
.mMNmdhyssssssyyyyyyyhdmNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmhhyyyyyssssssssyyhNMMo
`yMNyyhdmmhyssssssyyyyyyyhhdmMMMMMMMMMMMMMMMMMMMMMMMMMMMmdhhyyyyyyssssssyyhmmdhyhMN-
+MMdsssssyhddhyysssssyyyyyyooshmNMMMMMMMMMMMMMMMMMMMNmhsooyyyyysssssyyddmmhyyssssmMd`
-NMmsssssssssyyhddhyyssssyysooooosydNNMMMMMMMMMMMMNdysooooosysssyyhdmmdhysssssssssyNMo
`dMNyssssssssssssssyhhdhhyys++++ooooooshmNMMMMMNmhsoooooo++++yhddddhyysssssssssssssshMN-
`sMMhsssssssssssssssssssyyhhdhysoooooooooooyhddysoooooooosyyhhhhyyssssssssssssssssssssmMd`
/MMmssssssssssssssssssssssssssyyhhdddddhhhhyyyhyyyhhhhhhhyysssssssssssssssssssssssssssyMMo`
-NMNysssssssssssssssssssssssssssssssssssyyyhhhhyyyysssssssssssssssssssssssssssssssssssssdMN-
/sso/////////////////////////////////////////////////////////////////////////////////////ss/
*/