Cod sursa(job #110175)

Utilizator HemorrhageMocanu Tiberiu Hemorrhage Data 25 noiembrie 2007 19:35:56
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>
#include<values.h>
#include<string.h>
#include<ctype.h>
int n,m,ok,k,mm=1;
char s[1000000],c,cc;

int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
m=127;
gets(s);
n=strlen(s);
for(k=0;k<n;++k)
   if(s[k]<m)
     {
     m=s[k];
     ok=k;
     }
c=m;
s[ok]=125;
printf("%c",c);
m=127;
while(mm)
    {

	m=127;
    for(k=0;k<n;k++)
	{
	if(s[k]<m)
		{
		m=s[k];
		ok=k;
		}
	}
	if(m!=c)
		{
		c=m;
		s[ok]=125;
		if(m==125)
		   break;
		printf("%c",c);
		}
	else
		{
		cc=m;
		s[ok]=125;
		m=127;
		for(k=0;k<n;k++)
		   {
		   if(s[k]<m)
			{
			m=s[k];
			ok=k;
			}
		    }
		if(m==125)
		   break;
		c=m;
		s[ok]=125;
		printf("%c",c);
		printf("%c",cc);

		}
	if(m==125)
	   mm=0;
	}

return 0;
}