Cod sursa(job #107984)
Utilizator | Data | 20 noiembrie 2007 23:29:06 | |
---|---|---|---|
Problema | Ordine | Scor | Ascuns |
Compilator | cpp | Status | done |
Runda | Marime | 0.58 kb |
#include <stdio.h>
#include <string.h>
#define MAX_N 1000005
#define FIN "ordine.in"
#define FOUT "ordine.out"
int N, cnt[26];
char S[MAX_N];
int main(void)
{
int i, prev;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
fgets(S, sizeof(S), stdin);
N = strlen(S)-1;
for (i = 0; i < N; ++i)
++cnt[S[i]-'a'];
for (prev = -1; N; --N)
{
for (i = 0; i < 26; ++i)
if (cnt[i] && i != prev) break;
printf("%c", i+'a');
--cnt[prev = i];
}
printf("\n");
return 0;
}