Pagini recente » Cod sursa (job #2958220) | Borderou de evaluare (job #271330) | Cod sursa (job #3229160) | Cod sursa (job #3271209) | Cod sursa (job #921094)
Cod sursa(job #921094)
#include<stdio.h>
#include<string.h>
char v[1000002];
int f[30];
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
int n,i,j,last=-1;
scanf("%s",&v);
n=strlen(v);
for(i=0;i<n;i++)
f[v[i]-'a']++;
for(i=0;i<n;i++)
{
for(j=0;j<26;j++)
if(f[j]==(n-i)/2+i)
{
printf("%c",j+'a');
last=j;
f[j]--;
break;
}
if(j<26)
continue;
for(j=0;j<26;j++)
if(j!=last&&f[j])
{
printf("%c",j+'a');
last=j;
f[j]--;
break;
}
}
return 0;
}