Pagini recente » Cod sursa (job #2323785) | Cod sursa (job #1536352) | Cod sursa (job #2514121) | Cod sursa (job #560577) | Cod sursa (job #235363)
Cod sursa(job #235363)
#include <stdio.h>
int a[27];
int n,ok,oc;
void check (int val)
{
int i;
oc=0;
for (i=1; i<=26; ++i)
if (a[i]==(n-val+1)/2+1)
{
printf ("%c",i+'a'-1);
oc=1;
ok=i;
--a[i];
break;
}
}
void solve ()
{
int i,j;
char ch;
while (scanf ("%c",&ch)!=EOF)
{
if (ch=='\n')
break;
++a[ch-'a'+1];
++n;
}
for (i=1; i<=n; ++i)
{
check (i);
if (!oc)
{
j=1;
while (j<=26)
{
if (a[j] && ok!=j)
{
printf ("%c",j+'a'-1);
--a[j];
ok=j;
break;
}
++j;
}
}
}
}
int main ()
{
freopen ("ordine.in","r",stdin);
freopen ("ordine.out","w",stdout);
solve ();
return 0;
}