Pagini recente » Cod sursa (job #2106862) | Cod sursa (job #424901) | Cod sursa (job #803305) | Cod sursa (job #2610435) | Cod sursa (job #229762)
Cod sursa(job #229762)
#include <stdio.h>
#include <string.h>
#define dim 1000000
char str[dim];
long nr[30]={0}, n;
int main()
{
long i, x, j, ok;
freopen("ordine.in", "r", stdin);
freopen("ordine.out", "w", stdout);
gets(str);
n=strlen(str);
for (i=0; i<n; i++) nr[str[i]-'a']++;
for (i=0; i<n; i++)
{
ok=0;
x=-1;
for (j=0; j<26 && !ok; j++)
if (nr[j])
{
if (i%2==0)
if (nr[j]==(n-i-1)/2+1)
{
ok=1;
x=j;
}
if (x==-1)
if (str[i-1]!=j+'a') x=j;
}
str[i]='a'+x;
nr[x]--;
}
puts(str);
return 0;
}