Cod sursa(job #145697)

Utilizator rak3uVulpe Mihnea rak3u Data 29 februarie 2008 10:46:48
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 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
	int i,j;
	if(k>n)
	{
		for (int i=1;i<=n;i++)
			cout<<sol[i]<<" ";
		cout<<endl;
	}
	else
		for(i=1;i<=n;++i){
			sol[k]=i;
			for(j=1;sol[j]!=i;++j);
			if(j==k){
				back(k+1);
			}
		}
}
int main()
{
	freopen ("permutari.in","r",stdin);
	freopen ("permutari.out","w",stdout);
	cin>>n;
	back(1);
	return 0;
}