Cod sursa(job #609395)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 21 august 2011 11:35:36
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb

#include<iostream>
#include <fstream>
#include <string>
char text[1000001],urm_litera;
long long 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;
	}
}