Pagini recente » Cod sursa (job #787929) | Cod sursa (job #2473283) | Cod sursa (job #839123) | Cod sursa (job #3158321) | Cod sursa (job #229761)
Cod sursa(job #229761)
#include <stdio.h>
#include <string.h>
#define dim 1000000
void insert_char(char *str, char ch, int pos)
{
int len=strlen(str), i;
for (i=len+1; i>pos; i++) str[i]=str[i-1];
str[pos]=ch;
}
char str[dim];
int nr[26]={0};
long n;
int main()
{
long i, x, j;
int 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;
}