Cod sursa(job #304892)

Utilizator LuffyBanu Lavinia Luffy Data 15 aprilie 2009 16:26:48
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<string>
#define dim 1000000
#define dimm 123
using namespace std;
char a[dim];
int nr[dimm];
int main()
{unsigned int i=0,n,j;
 ifstream f("ordine.in");
 ofstream g("ordine.out");
 
 f>>a;  n=strlen(a);
  for(i=0;i<=n-1;i++)
  nr[int(a[i])]++;  

  for(i=97;i<=122;i++)
  {pas1:
   if(nr[i]==1) g<<(char)i;
   if(nr[i]>1) 
   {g<<(char)i; nr[i]--;
     for(j=i+1;j<=122;j++)
      pas2:if(nr[j]>0) {pas3: g<<(char)j<<(char)i; nr[i]--; nr[j]--;
                   if(nr[i]==0) goto pas1;
                   if(nr[j]==0) goto pas2;
                   else goto pas3;}
   }}	  
g<<'\n';	 
f.close();
g.close();
return 0;

}