Pagini recente » Cod sursa (job #3267326) | Cod sursa (job #2090662) | Cod sursa (job #257133) | Cod sursa (job #2518253) | Cod sursa (job #163456)
Cod sursa(job #163456)
#include <stdio.h>
#include <string.h>
#define J 50
#define N 1000010
char v[N],sol[N];
int f[N];
int l;
void scan() {
freopen("ordine.in", "r",stdin);
freopen("ordine.out", "w",stdout);
scanf("%s\n", v);
l=strlen(v);
for(int i=0;i<l;++i)
++f[v[i]];
sol[0]='X';
}
int gaseste_char(int i) {
int min,g=0;
for(int j='a';j<='z';++j) {
if(f[j]!=0 && !g && j!=sol[i-1])
{ g=1; min=j; }
if(f[j]>(l-i+1)/2)
return j;
}
return min;
}
void solve() {
int x;
for(int i=1;i<=l;++i) {
x=gaseste_char(i);
--f[x];
sol[i]=x;
}
}
void print() {
for(int i=1;i<=l;++i)
printf("%c", sol[i]);
}
int main() {
scan();
solve();
print();
return 0;
}