Pagini recente » Cod sursa (job #2340073) | Cod sursa (job #579233) | Cod sursa (job #485477) | Cod sursa (job #2164702) | Cod sursa (job #188576)
Cod sursa(job #188576)
#include <stdio.h>
#include <string>
#define FOR(i,s,d) for(i=(s);i<=(d);++i)
char c[1000005],sir[1000005];
long v[30],n,i,j,x,ok;
int main()
{
freopen ("ordine.in","r",stdin);
freopen ("ordine.out","w",stdout);
scanf("%s",&c);
x=strlen(c);
FOR (i,0,x-1)v[c[i]-96]++;
FOR (i,1,x){
ok=1;
FOR (j,1,26)
if (v[j]==(x-i+1)/2+1&&j+96!=sir[i-1])
{sir[i]=j+96;v[j]--;ok=0;break;}
if(ok!=0)
FOR (j,1,26)
if (j+96!=sir[i-1]&&v[j]>0)
{sir[i]=j+96;v[j]--;break;}
}
FOR(i,1,x)
printf("%c",sir[i]);
/*printf("\n%ld",x);
c[2]=' ';
printf("%ld",c[2]);*/
return 0;
}