Cod sursa(job #916696)

Utilizator VmanDuta Vlad Vman Data 16 martie 2013 19:44:28
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <cstring>

#define Lmax 1000001
#define alfa 26

char S[Lmax], f[alfa];

int main() {
    freopen("ordine.in", "r", stdin);
    freopen("ordine.out","w",stdout);
    
    scanf("%s", S);
    int L = strlen(S);
    for (int i=0; i<L; ++i)
        ++f[S[i]-'a'];
    
    int last = -1;
    for (int i=0; i<26; ++i)
        if (f[i] == 2*L-1) {
            printf("%c", i+'a');
            last = i;
            --f[i];
            break;
        }
    
    for (int i=0; i<L; ++i) {
        for (int j=0; j<26; ++j)
            if (f[j] && j!=last) {
                last = j;
                printf("%c", j+'a');
                --f[j];
                break;
            }
    }
    
    return 0;
}