Cod sursa(job #809246)

Utilizator ahmed.abdraboahmed.abdrabo ahmed.abdrabo Data 8 noiembrie 2012 07:08:58
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <cstdio>
#include <algorithm>
using namespace std;

inline int next_int() {
	int d;
	scanf("%d", &d);
	return d;
}

int n, A[10];

void gen(int index) {
	if (index == n) {
		for (int i = 1; i <= n; i++) {
			printf("%d ", A[i]);
		}
		printf("\n");
	} else {
		for (int i = 1; i <= n; i++) {
			bool ok = true;
			for (int j = 1; j <= index; j++) {
				if (A[j] == i) {
					ok = false;
					break;
				}
			}
			if (ok) {
				A[index + 1] = i;
				gen(index + 1);
			}
		}
	}
}

int main() {
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);
	n = next_int();
	for (int i = 1; i <= n; i++) {
		A[i] = i;
	}
	gen(0);
	return 0;
}