Cod sursa(job #1817700)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 28 noiembrie 2016 12:45:05
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <cstring>
#define NMAX 1000007

using namespace std;

ifstream f("ordine.in");
ofstream g("ordine.out");

char c[NMAX], ans[NMAX], last;
int i, n, fr[NMAX], pos;

int main()
{
    f.getline(c, NMAX - 5);

    n = strlen(c);

    for (i = 0; i < n; ++ i)
        fr[c[i]] ++;

    for (i = 'a'; i <= 'z'; ++ i)
        while (fr[i])
    {
        if (i != last)
        {
            g << (char) i;
            fr[i] --;
        }

        for (char j = i + 1; j <= 'z'; ++ j)
            if (fr[j])
            {
                g << (char) j;
                fr[j] --;
                last = j;
                break;
            }
    }

    return 0;
}