Cod sursa(job #574850)

Utilizator alexamiu2008Miu Alexandra alexamiu2008 Data 7 aprilie 2011 16:58:11
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#include<string.h>
FILE*fin,*fout;
int i,j,n,l,fr[260],k;
char s[1000001],x[1000001];
void tipar(){

for(i=1;i<=l;i++){
fprintf(fout,"%c",x[i]);
}
}
void back(int k){
 char i;
 for(i='a';i<='z';i++){
 if(fr[i]>0){
 x[k]=i;fr[i]--;
 if(x[k]!=x[k-1]&&x[k]!=x[k+1]){
if(k==l){

tipar();return ;}

 else{back(k+1);}
 }
 fr[i]++;
 }

 }


}

int main(){
   fin=fopen("ordine.in","r");
   fout=fopen("ordine.out","w");
   fgets(s,1000,fin);
      l=strlen(s);
      for(i=0;i<l;i++){
      fr[s[i]]++;
      }
   back(1);
return 0;
}