Cod sursa(job #1799035)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 5 noiembrie 2016 18:01:38
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int a[26],n,i,x,y;
char c,z;
int main()
{
    while(f>>c)
        a[c-'a']++,n++;
    c='.';
    while(n)
    {
        y=1;
        for(i=0;i<26;i++)
        {
            if(a[i]&&char(97+i)!=c&&y) x=i,z=char(97+i),y=0;
            if(a[i]>=n/2+1)
            {
                x=i;
                z=char(97+i);
                break;
            }
        }
        if(z!=c)
        {
            g<<z;
            n--;
            c=z;
            a[x]--;
        }
    }
    return 0;
}