Cod sursa(job #275293)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 10 martie 2009 12:56:38
Problema Ordine Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
//#include<algorithm>
#include<stdio.h>
#include<string.h>
#define DIM 1001
//using namespace std;
int a[31];
char s[DIM];
void solve(){
	int i,n,prev;
	gets(s);
	n=strlen(s);
	for(i=0; i<n; ++i)
		++a[s[i]-'a'];
	for(prev=-1; n; ){
		for(i=0; i<26; ++i)
			if(a[i]>n/2){
                printf("%c",i+'a');
                --a[i];
                --n;
                prev=i;
                i=27;}
        if(i==26)
			for(i=0; i<26; ++i)
				if(a[i]&&i!=prev){
					printf("%c",i+'a');
					--a[i];
					--n;
					prev=i;
					i=27;}}}
int main(){
    freopen("ordine.in","r",stdin);
    freopen("ordine.out","w",stdout);
    solve();
    return 0;}