Pagini recente » Cod sursa (job #2425205) | Cod sursa (job #721938) | Cod sursa (job #2296887) | Cod sursa (job #1808990) | Cod sursa (job #163051)
Cod sursa(job #163051)
#include <stdio.h>
#include <string.h>
#define J 50
#define N 1000010
char v[N],sol[N];
int f[N];
int main()
{
int min,i,j,g,l;
freopen("ordine.in", "r",stdin);
freopen("ordine.out", "w",stdout);
scanf("%s\n", v);
l=strlen(v);
for(i=0;i<l;++i)
++f[v[i]];
sol[0]='X';
for(i=1;i<=l;++i)
{
g=0;
//functie
for(j='a';j<='z';++j)
{
if(f[j]!=0 && !g && j!=sol[i-1])
{ g=1; min=j; }
if(f[j]>(l-i+1)/2)
{
sol[i]=j;
--f[j];
g=3;
break;
}
}
if(g!=3)
{
sol[i]=min;
--f[min];
}
}
for(i=1;i<=l;++i)
printf("%c", sol[i]);
return 0;
}