Cod sursa(job #197516)

Utilizator sigridMaria Stanciu sigrid Data 4 iulie 2008 16:43:19
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 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;
}