Cod sursa(job #884926)

Utilizator DanyPrvPirvoaica Daniel DanyPrv Data 21 februarie 2013 14:51:22
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int fr[256],i,n;
char j,ch,x,z,y;
int main()
{
    int max;
    while(f>>ch){
        fr[ch]++;
        n++;
    }
    x=(char)256;
    for(i=1;i<=n;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>(n-i+1)/2)    {
             g<<z;fr[z]--;
             x=z;

         }
         else
         {
             g<<y;fr[y]--;
             x=y;
         }

      }
    return 0;
}