Cod sursa(job #1108437)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 15 februarie 2014 17:54:12
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <cstring>
char text[1000014],urm_litera;
int n,i,j,a[200];
using namespace std;
int main(void)
{
    fstream f,g;
    f.open("ordine.in",ios::in);
    g.open("ordine.out",ios::out);
    f>>text;
    n=strlen(text);
    for (i=0;i<n;i++)
        a[text[i]]++;
    char antecedenta=NULL;
    for (i=0;i<n;i++)
    {
        urm_litera='z';
        for (j='a';j<='z';j++)
            if (a[j] == (n-i)/2+1 && j != antecedenta)
                {
                    urm_litera=j;
                    break;
                }
                else
                    if (a[j] && j != antecedenta && j < urm_litera)
                        urm_litera=j;
            g<<urm_litera;
            a[urm_litera]--;
            antecedenta= urm_litera;
    }
    g<<endl;
 
}