Pagini recente » Cod sursa (job #3198109) | Cod sursa (job #1141382) | Cod sursa (job #58439) | Cod sursa (job #484644) | Cod sursa (job #295911)
Cod sursa(job #295911)
#include<stdio.h>
#include<string.h>
int v[30],i,j,k,l,m,n,ok;
char text[10000100];
int main(){
FILE *f=fopen("ordine.in","r");
freopen("ordine.out","w",stdout);
fgets(text+1,1000010,f);
n=strlen(text+1);
for(i=1;i<=n;i++)
v[(int)(text[i]-'a'+1)]++;
for(i=1;i<=n;i++)
{ok=0;
for(j=1;j<=26;j++)
if(v[j]==((n-i+1)/2+1))ok=j;
if(ok){printf("%c",char(ok+'a'-1));v[j]--;text[i]=j;}
else
for(j=1;j<=26;j++)
if(v[j]&&((int)text[i-1]!=j)){printf("%c",char(j+'a'-1));v[j]--;text[i]=j;break;}
}
return 0;}