Cod sursa(job #145685)

Utilizator rak3uVulpe Mihnea rak3u Data 29 februarie 2008 10:23:37
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
using namespace std;
#include<iostream>
int n,sol[10];
char c[10];
/*
int valid (int k)//verifica daca sol[k] e diferit de sol[1],sol[2],...,sol[k-1]
{
	for(int i=1;i<k;++i)
		if(sol[k]==sol[i])
			return 0;
	return 1;
}
*/
void scrie ()
{
	for (int i=1;i<=n;i++)
		cout<<sol[i]<<" ";
	cout<<endl;
}
void back(int k){//k=al catelea elem din sol urmeaza sa fie completat
	if(k>n)
		scrie();
	else
		for(int i=1;i<=n;++i)
			if(c[i]==0){
				sol[k]=i;
				c[i]=1;
				back(k+1);
				c[i]=0;
		}
}
int main()
{
	freopen ("permutari.in","r",stdin);
	freopen ("permutari.out","w",stdout);
	cin>>n;
	back(1);
	return 0;
}