Cod sursa(job #2019446)

Utilizator stefan_creastaStefan Creasta stefan_creasta Data 7 septembrie 2017 19:21:51
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int NMAX = 1005;
char s[NMAX];
char sol[NMAX];
int vf[35];

int main()
{
    freopen("ordine.in", "r", stdin);
    freopen("ordine.out", "w", stdout);
    scanf("%s", &s);
    for(int i = 0;s[i]; ++i) {
        ++vf[s[i] - 'a'];
    }
    int last = 30, val = 'z' - 'a';
    for(int i = 0;s[i]; ++i) {
        bool ok = false;
        int j;
        for(j = 0;j < val && ok == false; ++j) {
            if(last != j && vf[j] != 0) {
                ok = true;
            }
        }
        --j;
        sol[i] = j + 'a';
        --vf[j];
        last = j;
    }
    printf("%s\n", sol);
    return 0;
}