Pagini recente » Cod sursa (job #1142573) | Clasament preoni | Cod sursa (job #2747523) | Cod sursa (job #1041555) | Cod sursa (job #119041)
Cod sursa(job #119041)
#include <stdio.h>
#include <string>
#define maxn 1000010
#define sigma 26
int n;
char a[maxn],sol[maxn];
int c[sigma];
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
scanf("%s ",a);
n=strlen(a);
int i,j,found;
for (i=0;i<n;i++) c[a[i]-'a']++;
for (i=0;i<n;i++)
{
found=0;
for (j=0;j<sigma;j++)
if (c[j]>(n-i)/2)
{
sol[i]=j+'a';
found=1;
break;
}
if (!found)
for (j=0;j<sigma;j++)
if (c[j] && (i==0 || j+'a'!=sol[i-1]))
{
sol[i]=j+'a';
break;
}
c[sol[i]-'a']--;
}
printf("%s\n",sol);
return 0;
}