Cod sursa(job #1724672)

Utilizator liviu23Liviu Andrei liviu23 Data 3 iulie 2016 20:53:01
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

int frecv[26];

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