Pagini recente » Cod sursa (job #2312734) | Cod sursa (job #2142999) | Cod sursa (job #2263041) | Cod sursa (job #960615) | Cod sursa (job #1418837)
#include<cstdio>
#include<algorithm>
#include<cstring>
#define Nmax 1000005
using namespace std;
int n,i,j,w[30],v1,v2,p;
char s[Nmax];
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
gets(s+1);
n=strlen(s+1);
for (i=1;i<=n;i++)
{
++w[s[i]-'a'];
}
p=-1;
for (i=1;i<=n;i++)
{
v2=-1; v1=-1;
for (j=0;j<26;j++)
if (j!=p)
{
if (w[j]==1+(n-i+1)/2)
v2=j;
else if (w[j] && v1==-1) v1=j;
}
if (v2!=-1)
{
printf("%c",v2+'a');
--w[v2];
p=v2;
}else
{
printf("%c",v1+'a');
--w[v1];
p=v1;
}
}
return 0;
}