Cod sursa(job #157210)

Utilizator DraStiKDragos Oprica DraStiK Data 12 martie 2008 21:48:33
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
int a[27];
int verifica (int a[27])
{
    int i;
    for (i=1; i<=26; ++i)
        if (a[i])
           return 1;
    return 0;
}
void read_solve ()
{
     int i,ca,ok=0;
     char ch;
     while (scanf ("%c",&ch)!=EOF)
           a[ch-'a'+1]++;
     do
     {
           for (i=1; i<=26; ++i)
               if (a[i] && ok!=i) 
               {
                  ca=i+'a'-1;
                  printf ("%c",ca);
                  --a[i];
                  ok=i;
                  break;
               }
     }
     while (verifica (a));
}
int main ()
{
    freopen ("ordine.in","r",stdin);
    freopen ("ordine.out","w",stdout); 
    read_solve ();
    return 0;   
}