Cod sursa(job #914341)

Utilizator XeBluePodaru Mihai XeBlue Data 14 martie 2013 02:04:22
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
using namespace std;

ifstream in("permutari.in");
ofstream out("permutari.out");

const int N = 500;

int v[N], n;
bool x[N];

void citire();
void backtracking();
void afisare();

int main()
{
	citire();
	backtracking();
	
	in.close();
	out.close();
	return 0;
}

void citire() { in >> n ; }

void backtracking()
{
    int p=1;
    while(p)
    {
        while(v[p]<n)
        {
            v[p]++;
            if(x[v[p]]==false && p==n)
				afisare();
             else
			 {
				 x[v[p]]=true;
				 v[++p]=0;
			 }
        }
        p--;
        x[v[p]]= false;
    }
}

void afisare()
{
	for(int i=1;i<=n;i++)
		out << v[i] << " ";
	out << "\n";
}