Pagini recente » Cod sursa (job #2180188) | Cod sursa (job #1438006) | Cod sursa (job #2642561) | Cod sursa (job #2945738) | Cod sursa (job #308169)
Cod sursa(job #308169)
#include <stdio.h>
#include <string.h>
#define N 1000005
char v[N];
int e[27],t;
void read()
{
/*char x;
while (scanf("%c",&x) && (int) x>=97 && (int)x<=122)
{
e[(int)x-96]++;
}*/
fgets(v+1,N,stdin);
int i;
for (i=1; v[i]!='\n' && (int)v[i]>=97 && (int)v[i]<=122; i++)
e[(int)v[i]-96]++;
t=(int)strlen(v+1);
}
void solve()
{
int i,j,ult_af,k,poz=0,stop=1;
//for (i=1; i<=3; i++)
// printf("%d\n",e[i]);
for (i=1; i<=26 && stop; i++)
{
for (k=i; k<=26; k++)
if (e[k]==(t-poz)/2+1)
{
while (e[k])
{
printf("%c",k+96);
poz++;
ult_af=k;
e[k]--;
for (j=1; j<=26; j++)
if (e[j] && j!=ult_af)
{
printf("%c",j+96);
poz++;
ult_af=j;
e[j]--;
break;
}
}
stop=0;
break;
}
if (e[i] && i!=ult_af && stop)
{
while(e[i])
{
printf("%c",i+96);
poz++;
ult_af=i;
e[i]--;
for (j=1; j<=26; j++)
if (e[j] && j!=ult_af)
{
printf("%c",j+96);
poz++;
ult_af=j;
e[j]--;
break;
}
}
}
}
}
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
read();
solve();
return 0;
}