Cod sursa(job #2222901)

Utilizator claudiu.gatinaFMI Claudiu Gatina claudiu.gatina Data 18 iulie 2018 15:01:04
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>

using namespace std;

int permutare[10];
int n;

void loop(vector<int> elements, int depth)
{
  if(depth == n)
  {
    for(int i = 0; i < n; ++i)
      printf("%d ", permutare[i]);
    printf("\n");
  }
  for(int i = 0; i < elements.size(); ++i)
  {
    permutare[depth] = elements[i];
    vector<int> further;
    for(int j = 0; j < elements.size(); ++j)
      if(j != i)
        further.push_back(elements[j]);
    loop(further, depth + 1);
  }
}

int main()
{
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);
    scanf("%d", &n);
    vector<int> v;
    for(int i = 1; i <= n; ++i)
      v.push_back(i);
    loop(v, 0);
    
    return 0;
}