Cod sursa(job #1069954)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 30 decembrie 2013 18:47:27
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <cstring>
char text[1000014],urm_litera;
int n,i,j,a[200];
using namespace std;
int main(void)
{

    freopen("ordine.in","r",stdin);
    freopen("ordine.out","w",stdout);
    scanf("%s", &text);
    n=strlen(text);
    for (i=0;i<=n;i++)
        a[text[i]]++;
    char antecedenta=' ';
    for (i=0;i<n;i++)
    {
        urm_litera='z';
        for (j='a';j<='z';j++)
            if (a[j] == (n-i+1)/2+1)
                {
                    urm_litera=j;
                    break;
                }
                else
                    if (a[j] && j != antecedenta && j < urm_litera)
                        urm_litera=j;
            printf("%c", urm_litera);
            a[urm_litera]--;
            antecedenta= urm_litera;
        }
}