Pagini recente » Cod sursa (job #249719) | Cod sursa (job #2176331) | Cod sursa (job #1780558) | Cod sursa (job #1528535) | Cod sursa (job #134843)
Cod sursa(job #134843)
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
char c[1000007];
int f[128],n,cnt;
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
#define int char
scanf("%s", c);
for (int i=0;i<strlen(c);++i)
++f[c[i]];
int lst,tmp='a';
cnt=n=strlen(c);
lst=0;
while(cnt--)
{
//printf("%d\n",(cnt+1)/2+1);
int lol=0;
for(int i='a';i<='z';++i)
if ((i^lst)&&(f[i]==((cnt+1)/2+1)))
{
lol=i;
break;
}
if(lol)
{
printf("%c", lol);
--f[lol];
lst=lol;
//printf(" lol");
}
else
while(1)
if((tmp^lst)&&(f[tmp]))
{
printf("%c", tmp);
--f[tmp];
swap(tmp,lst);
break;
}
else ++tmp;
//printf("\n");
}
return 0;
}