Pagini recente » Cod sursa (job #2585170) | Cod sursa (job #1508970) | Cod sursa (job #1086589) | Cod sursa (job #347546) | Cod sursa (job #2019777)
#include <cstdio>
#include <cstring>
int f['z' + 5];
int main() {
freopen ("ordine.in", "r", stdin);
freopen ("ordine.out", "w", stdout);
char s[1000001];
scanf("%s", s);
int N = (int) strlen(s);
for (int i = 0; i < N; i++) {
f[s[i]]++;
}
char last = 'a' - 1;
for (int i = 0; i < N; i++) {
char ch;
bool sePoate = false;
for (ch = 'a'; ch <= 'z'; ch++) {
if (ch != last && f[ch] == (N - i) / 2 + 1) {
sePoate = true;
break;
}
}
if (!sePoate) {
for (ch = 'a'; ch <= 'z'; ch++) {
if (ch != last && f[ch] != 0) {
break;
}
}
}
printf("%c", ch);
f[ch]--;
last = ch;
}
printf("\n");
return 0;
}