Cod sursa(job #943492)

Utilizator catalinutzbCraciun Catalin catalinutzb Data 25 aprilie 2013 17:01:45
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
/// Craciun Catalin (c)
///  Backtracking
///   Generare permutari

#include <fstream>
#include <iostream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");

short int n;
short int V[101];

int main(){

    short int k;
    bool ok;

    f>>n;

    k=1;
    V[k]=0;

    while (k>0){
        ok=0;
        while (V[k]<n&&!ok){
            V[k]++;
            ok=1;
            for (int i=1;i<k;i++){
                if (V[i]==V[k])
                    ok=0;
            }
        }

        if (!ok)
            k--;
        else{
            if (k==n){
                for (int i=1;i<=n;i++)
                    g<<V[i]<<" ";
                g<<"\n";
            }
            else{
                k++;
                V[k]=0;
            }
        }
    }

    return 0;
}