Nu aveti permisiuni pentru a descarca fisierul grader_test6.in

Cod sursa(job #2219823)

Utilizator richard26Francu Richard richard26 Data 9 iulie 2018 20:06:12
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("ordine.in") ;
ofstream g("ordine.out") ;

int v[1000001],ap[26] ;

int main()
{
    int i, x,c1=0,c2=0,j,ok=0,l=0 ;
    char a ;
    while(f>>a)
    {
        x=a-'a'+1 ;
        ap[x]++ ;

    }

    i=0 ;
    while(ap[i]==0) i++ ;
    c1=i ;
    i++ ;
    while(ap[i]==0) i++ ;
    c2=i ;
    int poz1=1 ;
    int poz2=2 ;
   while(c1!=-1||c2!=-1)
   {
      for(j=poz1;ap[c1]>0;j=j+2)
      {
          v[j]=c1 ;
          ap[c1]-- ;
          l++ ;
      }
      poz1=j ;
      if(c2>-1) for(j=poz2;ap[c2]>0;j=j+2)
      {
          v[j]=c2 ;
          ap[c2]-- ;
          l++ ;
      }
      poz2=j ;
      i=c2+1 ;
      while(ap[i]==0&&i<=26) i++ ;
      if(i<=26) c1=i ;
        else c1=-1 ;
      i=c1+1 ;
      while(ap[i]==0&&i<=26) i++ ;
      if(i<=26) c2=i ;
        else c2=-1 ;



   }
   for(i=1;i<=l;i++)
   {
       x=v[i]+'a'-1 ;
       g<<char(x) ;
   }
   return 0 ;

}