Cod sursa(job #109724)

Utilizator SmarandaMaria Pandele Smaranda Data 25 noiembrie 2007 12:33:33
Problema Ordine Scor 10
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.86 kb
#include<stdio.h>
#include<string.h>
int main()
{
char x[1000001],aux;
int sortat;
long l,i,j,k;

freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);

gets(x);
l=strlen(x);
l--;
do
  {
    sortat=1;
    for(i=0;i<l;i++)
	if(x[i]>x[i+1])
	   {
	     sortat=0;
	     aux=x[i];
	     x[i]=x[i+1];
	     x[i+1]=aux;
	   }
   }while(sortat==0);
for(i=0;i<l;i++)
    if(x[i]==x[i+1])
       {
	 if((i+1)==l)
	    {
	      for(j=i-1;j>=1;j--)
		  if(x[j]!=x[i])
		     break;
	     aux=x[j];
	     x[l]=aux;
	     x[++l]=x[i];
	     x[j]=')';
	    }
	 else
	     {
	       for(j=i+2;j<=l;j++)
		   if(x[j]!=x[i])
		      break;
	       aux=x[j];
	       x[j]=x[i+1];
	       x[i+1]=aux;
	     }
    }

for(i=0;i<=l;i++)
    {
      if(x[i]!=')')
      printf("%c",x[i]);
    }
return 0;

}