Pagini recente » Cod sursa (job #1806011) | Cod sursa (job #624022) | Cod sursa (job #1908345) | Cod sursa (job #2313815) | Cod sursa (job #968657)
Cod sursa(job #968657)
#include <cstdio>
#include <cstring>
using namespace std;
#define SMAX 1000001
#define FMAX 27
int i, n, N, j;
int F[FMAX];
char s[SMAX];
int Cnt, Pair;
char last, a, b;
int main() {
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
scanf("%s", s + 1);
N = strlen(s + 1);
for (i = 1; i <= N; ++i)
++F[s[i] - 'a'];
for (i = 1; i <= N; ++i) {
for (j = 0; j <= 26; ++j)
if (F[j] == (N - i + 1) / 2 + 1 && j + 'a' != last)
break;
if (j < 26 && F[j] == (N - i + 1) / 2 + 1) {
--F[j];
printf("%c", j + 'a');
last = j + 'a';
}
else {
for (j = 0; j <= 26; ++j)
if (F[j] && j + 'a' != last)
break;
if (j < 26 && F[j]) {
--F[j];
printf("%c", j + 'a');
last = j + 'a';
}
}
}
return 0;
}