Cod sursa(job #615205)

Utilizator vladbagrinVlad Bagrin vladbagrin Data 8 octombrie 2011 21:34:02
Problema Generare de permutari Scor 20
Compilator c Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

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

int l;
char s[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[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[i] = '1' + i;
		m[i] = 0;
	}
	s[l] = 0;
	perm(0);

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