Cod sursa(job #1006677)

Utilizator vladrochianVlad Rochian vladrochian Data 7 octombrie 2013 16:03:03
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <cstdio>
#define MOD 1999999973
using namespace std;
int n,arr[8];
bool valid(int k)
{
	for (int i=0;i<k;i++)
		if (arr[i]==arr[k])
			return 0;
	return 1;
}
void print()
{
	for (int i=0;i<n;i++)
		printf("%d ",arr[i]);
	printf("\n");
}
void back(int k,int i)
{
	arr[k]=i;
	if (valid(k))
		if (k==n-1)
			print();
		else
			back(k+1,1);
	if (i<n)
		back(k,i+1);
}
int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d",&n);
	back(0,1);
	fclose(stdin);
	fclose(stdout);
}