Cod sursa(job #1145768)

Utilizator PirvuMihaiPirvu Mihai PirvuMihai Data 18 martie 2014 13:45:36
Problema Submultimi Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;

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


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

    g<<"\n";
}

bool valid(vector<int> v, int pos){
    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)){
            Afisare(v, pos);
            if(pos < n)
                back(v, pos+1, n);
        }
    }
}

int main()
{
    int n;
    f>>n;
    vector<int> v(n+1, -1);
    back(v, 1, n);
    return 0;
}