Cod sursa(job #615213)

Utilizator vladbagrinVlad Bagrin vladbagrin Data 8 octombrie 2011 21:50:00
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

#define INPUT "permutari.in"
#define OUTPUT "permutari.out"
#define MAX 8
#define SUCCESS 0

int l;
char s[2 * MAX + 1], m[MAX];

void perm(int p) {
	if (p >= l)
		printf("%s\n", s);
	else {
		int i;
		for (i = 0; i < l; i++)
			if (m[i] == 0) {
				s[2 * p] = '1' + i;
				m[i] = 1;
				perm(p + 1);
				m[i] = 0;
			}
	}
}

int main() {
	freopen(INPUT, "r", stdin);
	freopen(OUTPUT, "w", stdout);
	scanf("%d", &l);
	int i;
	for (i = 0; i < l; i++) {
		s[2 * i + 1] = ' ';
		m[i] = 0;
	}
	s[2 * l] = 0;
	perm(0);

	fclose(stdin);
	fclose(stdout);
	return SUCCESS;
}