Cod sursa(job #185406)

Utilizator MciprianMMciprianM MciprianM Data 25 aprilie 2008 12:23:26
Problema Ordine Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
using namespace std;
int a[32], n,ok, i, x,ant=1024;
char c;
int main(){
  ifstream f("ordine.in");
  ofstream g("ordine.out");
  while(f>>c){
    a[c-'a']++;
    n++;
  }
 for(x=1;x<=n;x++)
 {
  ok=1;
  for(i=0;i+'a'!='z';i++)
    if(a[i]>=(n-x+1)/2+1){
      g<<char(i+'a');
      ant=i;
      a[i]--;
      ok=0;
      break;
    }
  if(ok){
    for(i=0;!a[i]||i==ant;i++);
    g<<char(i+'a');
    a[i]--;
    ant=i;
  }
 }
 f.close();
 g<<'\n';
 g.close();
 return 0;
}