Cod sursa(job #151640)

Utilizator razvi9Jurca Razvan razvi9 Data 8 martie 2008 14:35:28
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;
int n,used[10],st[9],nr;
ifstream f("permutari.in");
ofstream g("permutari.out");

void back(int k)
{
	int i;
	if(k==n+1){
		for(i=1;i<=n;i++)
			g<<st[i]<<" ";
		g<<endl;
		nr--;
		return;}
	i=0;
	do{
		++i;
		while(used[i]) ++i;
		if(i>n) return;
		st[k]=i;
		used[i]=1;
		back(k+1);
		if(!nr) return;
		used[i]=0;
	}while(1);

}

int main()
{
	f>>n;
	nr=1;
	for(int i=2;i<=n;i++) nr=nr*i;
	back(1);
	g.close();
}