Cod sursa(job #2698394)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 21 ianuarie 2021 21:36:51
Problema Ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <string>

using namespace std;

const int EPSILON = 26;

string sir;

int frecv[EPSILON];

int main()
{
    ifstream in("ordine.in");
    ofstream out("ordine.out");

    in >> sir;

    for (int i = 0; i < sir.size(); i++)
    {
        frecv[sir[i] - 'a']++;
    }

    int anterior = -1;

    for (int i = 0; i < sir.size(); i++)
    {
        bool gasit = false;

        for (int j = 0; j < EPSILON && !gasit; j++)
        {
            if (j != anterior && frecv[j] > 0)
            {
                frecv[j]--;

                sir[j] = (char)((int)'a' + j);

                anterior = j;

                gasit = true;
            }
        }
    }

    out << sir << '\n';

    return 0;
}