Cod sursa(job #2774998)

Utilizator amcbnCiobanu Andrei Mihai amcbn Data 13 septembrie 2021 20:32:30
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
/* [A][M][C][B][N] / [K][R][I][P][6][8] */
#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
// Global variables
const char sp = ' ', nl = '\n';
const int MOD = 777013; // 666013 998244353 1000000007
ifstream fin("permutari.in");
ofstream fout("permutari.out");

void permutare(vector<int> options, vector<int> curr = {}) {
	if (!options.size())
		for (auto e : curr) fout << e << (e == curr.back() ? nl : sp);
	else
		for (int i = 0; i < options.size(); i++) {
			curr.push_back(options[i]);
			vector<int> new_options(options);
			new_options.erase(new_options.begin() + i);
			permutare(new_options, curr);
			curr.pop_back();
		}
}

int main() {
	int n;
	fin >> n;
	vector<int> Options(n);
	for (int i = 0; i < n; i++) Options[i] = i + 1;
	permutare(Options);
}