Cod sursa(job #186950)
Utilizator | Data | 29 aprilie 2008 12:11:01 | |
---|---|---|---|
Problema | Ordine | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <cstdio>
#include <cstring>
int A[30];
char S[1000002];
void solve()
{
int N = strlen(S),i,last = 45;
for(i=0; i<N; i++)
A[S[i] - 'a']++;
for(i=0; i<N; i++)
for(int i=0; i<='z'-'a'; i++)
if(A[i] && i!=last)
{
A[last = i]--;
printf("%c",i+'a');
break;
}
}
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
gets(S);
solve();
}