Cod sursa(job #130385)

Utilizator mithyPopovici Adrian mithy Data 31 ianuarie 2008 23:08:45
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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;
	char prev;
	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 )
		{
			g << ((char)(j+'a'));
			prev = ((char)(j+'a'));
			lit[j]--;
			break;
		}

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