Cod sursa(job #1145757)

Utilizator PirvuMihaiPirvu Mihai PirvuMihai Data 18 martie 2014 13:41:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

void AfisareVector(vector<int> v, int n){
    for(int i=1; i<=n; i++)
        g<<v[i]<<" ";
    g<<"\n";
}

bool valid(vector<int> v, int pos){
    // v[pos-1] ==
    for(int i=1; i<pos; i++)
        if(v[i] == v[pos])
            return false;

    return true;
}

void back(vector<int> &v, int pos, int n){
    for(int i=1; i<=n; i++){
        v[pos] = i;
        if(valid(v, pos)){
            if(pos == n)
                AfisareVector(v, n);
            else
                back(v, pos+1, n);
        }

    }
}

int main()
{
    int n;
    //cin>>n;

    f>>n;
    vector<int> v(n+1, -1);
    back(v, 1, n);
    /* N este numarul de elemente ce vor fi introduse in vector
     * 1 este elementul de la care se incepe
     * voi face un loop prin toate elementele posibile de adaugat, testez daca pot fi adaugate
     * si anume daca n-au fost bagate deja
     */

    return 0;
}