Cod sursa(job #1989712)

Utilizator b10nd3Oana Mancu b10nd3 Data 8 iunie 2017 16:42:07
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
using namespace std;

#define MAX 8
int perm[MAX];

void writeSol(int n,ofstream *out){
  for(int i=0;i<n;i++) *out<<perm[i]<<" ";
  *out<<endl;
}

bool noRepeat(int k){
   bool ok=true;
   for(int i=0;i<k;i++)
     if(perm[i]==perm[k]) ok=false;
   return ok; 
}

void back(int k, int n, ofstream *out){
  if(k==n) writeSol(n,out);    
     for(int i=1;i<=n;i++){
         perm[k]=i;
         if(noRepeat(k)) back(k+1,n,out);
      }
}


int main(){
ifstream in; ofstream out;
in.open("permutari.in"); out.open("permutari.out");
out.clear();

int n;
in>>n;
back(0,n,&out);

in.close(); out.close();
return 0;
}