Cod sursa(job #628087)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 31 octombrie 2011 15:49:54
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<cstdio>
using namespace std;
FILE *in = fopen ("permutari.in", "r"), *out = fopen ("permutari.out", "w");

int n, s[9];

bool EValid (int top, int k){
	for (int i = 0; i < top; i++) if ( s[i] == k) return false;
	return true;
}

void P(int top){
	if (top == n){
		for (int i = 0; i < n ; i++) fprintf (out, "%d ", s[i]);
		fprintf(out, "\n");
	}
	else {
		for (int i = 1; i <= n ; i++)
		if ( EValid(top, i) ){
			s[top] = i;
			P(top + 1);
		}
	}
}

int main(){
	fscanf (in, "%d", &n);
	P(0);
	return 0;
}