Cod sursa(job #1651564)

Utilizator pickleVictor Andrei pickle Data 13 martie 2016 15:41:37
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>

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

int N, d[10];
void go(int lvl);

int main() {

  fin >> N;
  for(int i = 1; i <= N; ++i)
    d[i] = i;

  go(1);

  return 0;
}

void go(int lvl) {
  if (lvl == N) {
    for(int i = 1; i <= N; i++)
      fout << d[i] << (i == N ? '\n' : ' ');
    return;
  }
  for (int i = lvl; i <= N; ++i) {
    int tmp = d[lvl];
    d[lvl] = d[i]; d[i] = tmp;

    go(lvl+1);
    d[i] = d[lvl]; d[lvl] = tmp;
  }
}