Cod sursa(job #884937)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 21 februarie 2013 14:59:44
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int x,y,z,i,fr[256],nr;
char ch,j;
int main()
{
    while(f>>ch){
        fr[ch]++;
        nr++;
    }
    int max=0;
    x=(char)256;
    for(i=1;i<=nr;i++){
        max=0;y='0';z='0';
        for(j='a';j<='z';j++){
            if(fr[j]!=0&&j!=x&&y=='0')
                y=j;
            if(max<fr[j]){
                max=fr[j];
                z=j;
                }
            }

            if(max>(nr-i+1)/2){
                g<<(char)z;
                fr[z]--;
                x=z;
        }
            else{
                g<<(char)y;
                fr[y]--;
                x=y;
                }
    }
    return 0;
}