Cod sursa(job #885025)

Utilizator alexandru213Bracau Alexandru alexandru213 Data 21 februarie 2013 16:13:15
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<algorithm>
#include<fstream>
using namespace std;
ifstream in("ordine.in");
ofstream out("ordine.out");
char ch,x,lit,z;
int fr[256],n,i;
int main()
{
    while(in>>ch){
        n++;
        fr[ch]++;}
        x='0';
    while(n!=0){
        int max=0;lit='0';z='0';
        for(i='a';i<='z';i++){
            if(fr[i]>max&&i!=x){
                max=fr[i];
                lit=(char)i;}
             if(fr[i]!=0&&i!=x&&z=='0')
                z=(char)i;
        }
        if(max>n/2){
            out<<lit;
            x=lit;
            n--;fr[lit]--;
            continue;}
        else{
            out<<z;n--;fr[z]--;
            x=z;
        }


        }
    return 0;
}