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