Cod sursa(job #146876)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 2 martie 2008 12:48:43
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
#include <math.h>

long n, v[16], sel[16];

void back(long lev) {
	long ipr = 0;
	if (lev == n + 1) {
		for (ipr = 1; ipr < lev; ++ipr) {
			printf("%ld ", v[ipr]);
		}
		printf("\n");
		return;
	}
	for (ipr = 1; ipr <= n; ++ipr) {
		if (sel[ipr] == 0) {
			v[lev] = ipr;
			sel[ipr] = 1;
			back(lev + 1);
			sel[ipr] = 0;
		}
	}
}

int main() {
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);
	scanf("%ld", &n);
	back(1);
	return 0;
}