Cod sursa(job #114264)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 13 decembrie 2007 17:23:12
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#include <string.h>

char ch[1000004];
long f[28],i,l,urm=1;

int main(){
    freopen("ordine.in","r",stdin);
    freopen("ordine.out","w",stdout);
    
    scanf("%s",ch);
    l=strlen(ch);
    for (i=0;i<l;i++)
        f[ch[i]-'a']++;
        
    for (i=0;i<26;i++)
        while (f[i]){
              if (urm==i||f[urm]==0){
                 urm++;
                 while (!f[urm]&&urm<25)urm++;
                 if (f[urm]){printf("%c",'a'+urm);f[urm]--;}
              }
              printf("%c",'a'+i);
              f[i]--;
              if (f[urm]){printf("%c",'a'+urm);f[urm]--;}
        }
    
    printf("\n");
    
    return 0;
}