Cod sursa(job #130378)

Utilizator mithyPopovici Adrian mithy Data 31 ianuarie 2008 22:40:14
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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';
			break;
		}

	for (i=0; 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;
			}


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