Cod sursa(job #220977)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 13 noiembrie 2008 22:07:16
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
 # include <stdio.h>  
 # include <string.h>  
int i,ok,fr[300],x,n,k,l;  
 char ch,c,c2,c3;  
 int main ()  
 {  
 freopen ("ordine.in","r",stdin);  
freopen ("ordine.out","w",stdout);  
 while (scanf ("%c",&ch)!=EOF)  
 {  
 x=ch;  
 fr[x-97]++;  
 n++;  
  }  

 while (ok==0)  
 {  
ok=1;  
 i=0;  
 if (l==0)  
 {  
 for (i=0;i<26;i++)  
 if (fr[i]==(n-k)/2)  
  {  
 c3=i+97;  
 l=1;  
 break;  
 }  
 }   
 i=0;  
 while (i<26)  
{  
c2=i+97;  
if (fr[i]!=0 && c!=c2 && c2!= c3)  
{  
   
ok=0;  
fr[i]--;  
k++;  
c=i+97;  
printf ("%c",c);  
if (l==1 && fr[c3-97]!=0)  
{  
printf ("%c",c3);  
fr[c3-97]--;  
c=0;  
k++;  
}  
break;  
}  
 
i++;  
}  
}  
return 0;  
}