Cod sursa(job #881470)

Utilizator Daniel_BotBot Cristian Daniel Daniel_Bot Data 18 februarie 2013 00:47:35
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;

int n,v[30];
ifstream in("permutari.in");
ofstream out("permutari.out");

bool found(int );
void MyBacktracking(int );

int main()
{
    in>>n;
    MyBacktracking(1);
    in.close();
    out.close();
    return 0;
}

bool found(int k)
{
    for(int i=1;i<k;++i)
        if(v[i]==v[k])
            return true;
    return false;
}

void MyBacktracking(int k)
{
    for(int i=1;i<=n;++i)
    {
        v[k]=i;
        if(!found(k))
        {
            if(k==n)
            {
                for(int j=1;j<=n;++j)
                {
                    out<<v[j];
                    out<<" ";
                }
                out<<"\n";
            }
            else
            {
                MyBacktracking(k+1);
            }
        }
    }
}