Cod sursa(job #196391)

Utilizator gcosminGheorghe Cosmin gcosmin Data 26 iunie 2008 11:14:58
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <stdio.h>

#define NMAX 1000010

char s[NMAX];

int nr[26];

char rez[NMAX];

int main()
{
	int i, j, k;

	freopen("ordine.in", "r", stdin);
	freopen("ordine.out", "w", stdout);

	scanf("%s", s);

	for (i = 0; s[i]; i++) nr[s[i] - 'a']++;

	for (j = 0; j < i; j++) {
		for (k = 0; k < 26; k++) {
			if (!nr[k]) continue;
			if (j && k + 'a' == rez[j - 1]) continue;
			rez[j] = k + 'a';
			nr[k]--;
			break;
		}
	}

	printf("%s\n", rez);

return 0;
}