Cod sursa(job #114264)
Utilizator | 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;
}