Cod sursa(job #109633)

Utilizator MLF_userFelix Liviu MLF_user Data 25 noiembrie 2007 12:12:24
Problema Ordine Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.54 kb
#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;
for(i=1;i<=x;i++)
 {
for(l=0;l<26;l++)
 if(vf[l]==i)
 {
   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;
}