Pagini recente » Cod sursa (job #533458) | Cod sursa (job #701165) | Cod sursa (job #2202827) | Cod sursa (job #2581558) | Cod sursa (job #109493)
Cod sursa(job #109493)
#include<stdio.h>
char c,cc;
long ok,x[100],y[100],f[100],i,t,k,n;
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
scanf("%c",&c);
while(c!='\n')
{
++f[c-'a'+1];
scanf("%c",&c);
}
for(i=1;i<=26;++i)
{
if(f[i])
{
++n;
x[n]=f[i];
y[n]=i;
}
}
ok=1;
cc=' ';
while(ok)
{
k=0;
t=0;
for(i=1;i<=n;++i)
if(x[i]!=0&&(y[i]+'a'-1)!=cc) { k=i; x[i]--;break;}
if(k==0) break;
printf("%c",char(y[k]+'a'-1));
for(i=k+1;i<=n;++i)
if(x[i]!=0) {t=i; x[i]--;break;}
if(t!=0)
{
cc=char(y[t]+'a'-1);
printf("%c",char(y[t]+'a'-1));
}
else cc=y[k]+'a'-1;
}
fcloseall();
return 0;
}