Cod sursa(job #1145779)

Utilizator PirvuMihaiPirvu Mihai PirvuMihai Data 18 martie 2014 13:48:05
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.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 k, int n){
    for(int i=1; i<=n; i++){
        v[pos] = i;
        if(valid(v, pos)){
            if(pos < k)
                back(v, pos+1, k, n);

            if( pos == k )
                Afisare(v, k);

        }
    }
}

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