Cod sursa(job #3213035)

Utilizator unomMirel Costel unom Data 12 martie 2024 13:31:16
Problema Ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream in("ordine.in");
ofstream out("ordine.out");
string s;
int frec[30];
vector<int> ans;

int main()
{
    in>>s;

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

    for(int i = 0; i<s.size(); i++)
    {
        if(i == 0)
        {
            for(int j = 0; j<26; j++)
            {
                if(frec[j] > 0)
                {
                    ans.push_back(j);

                    frec[j]--;
                    break;
                }
            }
        }
        else
        {
            int d = ans[i - 1];

            for(int j = 0; j<26; j++)
            {
                if(frec[j] > 0 && j != d)
                {
                    ans.push_back(j);

                    frec[j]--;
                    break;
                }
            }
        }
    }

    for(auto it: ans)
    {
        char c = (it + 'a');
        out<<c;
    }

    return 0;
}