Cod sursa(job #324502)

Utilizator LuffyBanu Lavinia Luffy Data 16 iunie 2009 13:21:10
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream.h>     
#include<string.h>     
#define dim 1000001     
#define dim2 30     
char sir[dim];    
int a[dim];     
unsigned long n,i,j,l,ok,x;     
int main()     
{     
    ifstream f("ordine.in");     
    ofstream g("ordine.out");     
      
    f.getline(sir,dim,'\n');     
    f.close();     
      
      
    n=strlen(sir);     
      
      
    for(i=0;i<n;i++)     
        a[sir[i]-'a'+1]++;     
      
      
    l=1;     
    char car=',';     
    while(l<=n)     
    {ok=0;     
     for(i=1;i<dim2;i++)     
		if((a[i]==((n-l+1)/2+1))&&((i+'a'-1)!=car))    
            {x=i;   
                break;   
            }     
		else if(! ok&&a[i]&&((i+'a'-1)!=car))    
                {x=i;   
                 ok=1;   
                }     

        car=(char)(x+'a'-1);     
        g<<car;     
        a[x]--;     
        l++;     
    }     
	g<<'\n';     
	g.close();     
	return 0;     
}