Pagini recente » Cod sursa (job #58084) | Cod sursa (job #2476329) | Cod sursa (job #1851240) | Cod sursa (job #2968180) | Cod sursa (job #204735)
Cod sursa(job #204735)
#include <stdio.h>
#include <string.h>
int n,a[32],i,x,y,prev;
char text[1000002];
int search(int x){
for(i=1;i<=26;++i) if(a[i]==x) return i; return 0;
}
int search2(int x){
for(i=1;i<=26;++i) if(a[i]&&x!=i) return i; return 0;
}
int main(){
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
gets(text);
for(i=0;i<strlen(text);++i){
++a[text[i]-'a'+1];}
n = strlen(text+1);
while(x<=n)
{
y = search((n-x+1)/2+1);
if(!y) y = search2(prev);
printf("%c",y+'a'-1);
++x;--a[y];
prev = y;
}
return 0;
}