Cod sursa(job #130383)

Utilizator mithyPopovici Adrian mithy Data 31 ianuarie 2008 23:02:08
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <string.h>
#define NMax 1000005

char a[NMax],b[NMax];
int lit[30];

std::ifstream f( "ordine.in" );
std::ofstream g( "ordine.out" );

int main()
{
	int i, j, lg;
	f >> a;

	lg = strlen(a);
	for (i=0; i<lg; i++)
		lit[((int)a[i])-'a']++;

	for (j=0; j<30; j++)
		if ( lit[j] > 0 )
		{
			b[0] = j+'a';
			lit[j]--;
			break;
		}

	for (i=1; i<lg; i++)
		for (j=0; j<30; j++)
			if (lit[j] > 0 && b[i-1] != (char)(j+'a') )
			{
				b[i] = j+'a';
				lit[j]--;
				break;
			}
	b[lg] = NULL;


	g << b << '\n';
	return 0;
}