Cod sursa(job #1848320)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 15 ianuarie 2017 20:28:33
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>

using namespace std;

 //codifica: {1, 2, 4, 5, 6, 8, 3, 7}
//n este dimensiunea vectorului solutiei
// 0 la n-1
//vor fi mereu diferiti
int n;
int sol[201];
bool vis[201];
void explore(int k) {
  if(k==n) {
    for(int i = 0; i < n; i++) {
      printf("%d " ,sol[i]);
    }
   printf("\n");
  } else{
    for(int i = 1; i <= n; i++) {
      if(vis[i] == 0) {
        sol[k] = i;
        vis[i] = 1;
        explore(k+1);
        vis[i] = 0;
      }
    }
  }
}


int main(){
  freopen("permutari.in" ,"r" ,stdin);
  freopen("permutari.out" ,"w" ,stdout);
  scanf("%d" ,&n);
  explore(0);
}