Pagini recente » Cod sursa (job #2696796) | Cod sursa (job #375173) | Cod sursa (job #523707) | Cod sursa (job #3240860) | Cod sursa (job #109672)
Cod sursa(job #109672)
#include<stdio.h>
#include<string.h>
int vf[28];
int main()
{
char s[100000],an[100000];
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
gets(s);
unsigned long n,nr=strlen(s);
int x=0,i,l,j;
long k,pos;
for(i=0;i<nr;i++)
{
vf[s[i]-97]++;
if(x<vf[s[i]-97])
x=vf[s[i]-97];
}
n=0;
int first=0;
for(i=1;i<=x;i++)
{
for(l=0;l<26;l++)
if(vf[l]==i)
{
if(!first)
{
first=vf[l];
n=vf[l];
for(j=0;j<n;j++)
an[j]=l+97;
}
else
{
pos=0;
for(j=0;j<i;j++)
{
for(k=n;k>=pos;k--)
an[k+1]=an[k];
an[pos]=l+97;
pos=pos+2;
n++;
}
}
}
}
puts(an);
return 0;
}