Pagini recente » Cod sursa (job #729037) | Cod sursa (job #1264824) | Cod sursa (job #1119636) | Cod sursa (job #1309230) | Cod sursa (job #185541)
Cod sursa(job #185541)
#include <stdio.h>
int a[26],p1,p2,poz,max;
char s[1000001],x;
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
while (1)
{
scanf("%c",&x);
if (x=='\n')
break;
a[x-'a']++;
if (x-'a'>max)
max=x-'a';
}
p2=1;
while (p1<=max)
{
while (p1<=max&&(!a[p1]||p1==p2))
p1++;
while (p2<=max&&(!a[p2]||p1==p2))
p2++;
if (p1<=max)
{
s[poz]=p1+'a';
poz++;
a[p1]--;
}
if (p2<=max)
{
s[poz]=p2+'a';
poz++;
a[p2]--;
}
}
s[poz]=NULL;
printf("%s\n",s);
return 0;
}