Pagini recente » Cod sursa (job #2828035) | Cod sursa (job #606001) | Cod sursa (job #1896959) | Cod sursa (job #761338) | Cod sursa (job #312355)
Cod sursa(job #312355)
#include <stdio.h>
#include <string.h>
#define N 1000005
char s[N];
int v[28],t,exceptie,ult_af;
void citire()
{
/*fgets(s+1,N,stdin);
int i;
t=(int)strlen(s+1);
for (i=1; i<=t && s[i]!='\n'; i++)
v[(int)s[i]-96]++;*/
char x;
while (scanf("%c",&x) && (int) x>=97 && (int)x<=122)
{
v[(int)x-96]++;
t++;
}
}
void rezolva()
{
int i,j,k;
while (t)
{
for (i=1; i<=26; i++)
{
if (v[i]==t/2+1)
{
exceptie=1;
for (j=1; j<=v[i]; j++)
{
printf("%c",i+96);
t--;
for (k=1; k<=27; k++)
if (k!=i && v[k])
{
printf("%c",k+96);
t--;
v[k]--;
break;
}
}
break;
}
}
if (exceptie)
break;
for (i=1; i<=26; i++)
if (v[i] && i!=ult_af)
{
printf("%c",i+96);
ult_af=i;
t--;
v[i]--;
break;
}
}
printf("\n");
}
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
citire();
rezolva();
return 0;
}