Cod sursa(job #109743)

Utilizator Adela_BaciuAdela Baciu Adela_Baciu Data 25 noiembrie 2007 12:35:40
Problema Ordine Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.68 kb
#include<stdio.h>
#include<string.h>
char b;
long j,n,i,f[30];
int main()
{
 freopen("ordine.in","r",stdin);
 freopen("ordine.out","w",stdout);

 while(scanf("%c",&b)!=EOF)
  {
   f[b-'a'+1]++;
   n++;
  }

 for(i=1;f[i]==0&&i<=n;i++);
 for(j=i+1;f[j]==0&&j<=n;j++);

 while(i<=n&&j<=n)
 {
  while(f[i]!=0&&f[j]!=0)
   {
    printf("%c",i-1+'a');
    printf("%c",j-1+'a');
    f[i]--;
    f[j]--;
   }
  if(f[i]==0)
   {
    if(f[j]==0)
     {
      for(i=1;f[i]==0&&i<=n;i++);
      for(j=i+1;f[j]==0&&j<=n;j++);
     }
    else
     for(i=j+1;f[i]==0&&i<=n;i++);
   }
  else
   if(f[j]==0)
    for(j=i+1;f[j]==0&&j<=n;j++);
 }
 fcloseall();
 return 0;
}