Cod sursa(job #914344)

Utilizator XeBluePodaru Mihai XeBlue Data 14 martie 2013 02:20:49
Problema Generare de permutari Scor 100
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 = 31;

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)
				if(p==n)
					afisare();
			else
			{
				x[v[p]]=true;
				v[++p]=0;
			}
        }
        x[v[--p]]=false;
    }
}

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