Cod sursa(job #2138381)

Utilizator fylot3Bogdan Filote fylot3 Data 21 februarie 2018 16:36:50
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
# include <stdio.h>

int N;
FILE *fin, *fout;

void printSolution(int solution[]) {
	for (int i = 0; i < N; i++)
		fprintf(fout, "%d ", solution[i]);
	fprintf(fout, "\n");
}

void permutari(bool usedElements[], int solution[], int level) {

	if (level == N) {
		printSolution(solution);
		return;
	}

	for (int i = 0; i < N; i++) {
		if (!usedElements[i]) {
			usedElements[i] = true;

			solution[level] = i + 1;

			permutari(usedElements, solution, level + 1);

			usedElements[i] = false;
		}
	}

	return;
}

int main(void) {

	fin = fopen("permutari.in", "r");
	fout = fopen("permutari.out", "w");
	fscanf(fin, "%d", &N);
	fclose(fin);

	int solution[8];
	bool usedElements[8];

	for (int i = 0; i < N; i++) {
		usedElements[i] = false;
		solution[i] = 0;
	}

	permutari(usedElements, solution, 0);

	fclose(fout);

	return 0;
}