Cod sursa(job #276423)

Utilizator n3msizN3msiz n3msiz Data 11 martie 2009 10:14:26
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>

int s[20],i,k,n;

FILE*f=fopen("perm.in","r");
FILE*g=fopen("perm.out","w");

int cont(int k){
  int i;
  for(i=1;i<=k;i++)
      if(s[i]==s[k])
	return 0;
  return 1;
}

void sol(){
  int i;
  for(i=1;i<=n;i++)
    fprintf(g,"%d",s[i]);
  fprintf(g,"\n");
}

int main(){
 fscanf(f,"%d",&n);
 s[1]=0;
 k=1;
 while(k>0)
   if(s[k]<n){
     s[k]++;
     if(cont(k))
       if(k==n)
       sol();
     else{
       k++;
       s[k]=0;
     }
   } else
      k--;





 fclose(f);
 fclose(g);
 return 0;
}