Cod sursa(job #3360681)

Utilizator MihaiDraghiciMIHAI DRAGHICI MihaiDraghici Data 15 iulie 2026 17:49:58
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>
using namespace std;

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

int main() {
	int n;
	fin >> n;

	vector<int> v(n + 1);

	for (int i = 1; i <= n; i++){
		v[i] = i;
	}

	while (true){

		for (int i = 1; i <= n; i++){

			fout << v[i] << ' ';

		}
		fout << '\n';

		int p = n - 1;

		while (p >= 1 && v[p] > v[p+1]){

			p--;

		}

		if (p == 0){

			break;

		}

		int q = n;

		while (v[q] < v[p]){

			q--;

		}

		int aux = v[p];
		v[p] = v[q];
		v[q] = aux;

		int st = p + 1;
		int dr = n;

		while (st < dr){

			aux = v[st];
			v[st] = v[dr];
			v[dr] = aux;
			st++;
			dr--;

		}

	}

	return 0;
}