Cod sursa(job #1724681)

Utilizator liviu23Liviu Andrei liviu23 Data 3 iulie 2016 21:31:02
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

int frecv[26];

int main()
{
    ifstream fin("ordine.in");
    ofstream fout("ordine.out");
    char c,last='*';
    int n=0;
    while(fin>>c)
        frecv[c-'a']++,n++;
    for(int i=0;i<n;i++) {
        int first=-1;
        for(int j=0;j<26;j++) {
            if(first==-1&&frecv[j]&&(char)(j+'a')!=last)
                first=j;
            if(frecv[j]&&frecv[j]==(n-i)/2+1) {
                first=j;
                break;
            }
        }
        fout<<(char)(first+'a');
        last=(char)(first+'a');
        frecv[first]--;
    }
    return 0;
}