Pagini recente » Cod sursa (job #2769026) | Cod sursa (job #1944627) | Cod sursa (job #3169224) | Cod sursa (job #802929) | Cod sursa (job #2766693)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ordine.in");
ofstream fout("ordine.out");
int main() {
string s;
fin >> s;
int f[26] = {0};
for (char c : s)
++f[c - 'a'];
int n = s.size(), last = -1;
while (n) {
int best = -1;
for (int c = 0; c < 26; ++c)
if (c != last && f[c] > 0) {
if (best == -1)
best = c;
else {
if (f[c] > n / 2)
best = c;
}
}
fout << char('a' + best);
--f[best];
last = best;
--n;
}
fout << '\n';
fin.close();
fout.close();
return 0;
}