Cod sursa(job #2340535)

Utilizator chris245chris chris chris245 Data 10 februarie 2019 16:28:15
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
// #include <iostream>
// #define N 5

using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");

void perms(int position, int N, int *v, int *frecv){
  //conditie de oprire daca s-a ajuns la capat
  //position este positia pe care trb adaugat un element
  if(position >= N){
    for(int i = 0; i < N; i++)  out << v[i] << " ";
    out << "\n";
  }else{
    for(int i = 0; i < N; i++){
      if(frecv[i] == 0){
        frecv[i] = -1; //echivalent cu da
        v[position] = i+1;
        perms(position + 1, N, v, frecv);
        frecv[i] = 0;
      }
    }
  }
}

int main(){
  int N;
  int v[8];
  int frecv[8];

  in >> N;
  for(int i = 0; i < N; i++)  frecv[i] = 0;
  perms(0, N, v, frecv);
}