Cod sursa(job #766303)

Utilizator whoasdas dasdas who Data 10 iulie 2012 22:15:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
//============================================================================
// Name        : perm.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <stdio.h>
#include <iostream>
using namespace std;

void bkt(int i, int* v, int* used, int n)
{
	int k;

	if (i == n) {
		for (k = 0; k < n; k++)
			printf("%d ", v[k] + 1);
		printf("\n");
	}


	for (k = 0; k < n; k++)
		if (!used[k]) {
			v[i] = k;
			used[k] = 1;
			bkt(i+1, v, used, n);
			used[k] = 0;
		}
}

void perm(int n)
{
	int v[n];
	int used[n];
	int i;
	for (i = 0; i < n; i++)
		used[i] = 0;

	bkt(0, v, used, n);
}

int main() {

	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);

	int n;
	scanf("%d", &n);

	perm(n);

	return 0;
}