Cod sursa(job #109296)

Utilizator nightwishVlad Radu - Cristian nightwish Data 25 noiembrie 2007 10:02:48
Problema Ordine Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.6 kb
#include<stdio.h>
#include<string.h>
int f[30];
int main()
{
  char m,s[1000000];
  long n,i,cp;

  freopen("ordine.in","r",stdin);
  freopen("ordine.out","w",stdout);
     gets(s);
     n=strlen(s)-1;

     for (i=0;i<=n;i++)
      f[s[i]-'a'+1]++;

  for (i=1;i<=27;i++)
   {
      if (f[i]==1)
       {m='a'+i-1;printf("%c",m);f[i]--;}
      else
       if (f[i]>0)
	{
	  m='a'+i-1;
	  printf("%c",m);
	  f[i]--;
	   cp=i;
	   i++;
	    while(f[i]==0&&i<=27)
	      i++;
	      m='a'+i-1;
	   printf("%c",m);
	  f[i]--;
	  i=cp-1;

	}

  }
     fcloseall();

return 0;
}