Cod sursa(job #999285)

Utilizator muresan_bogdanMuresan Bogdan muresan_bogdan Data 19 septembrie 2013 19:57:07
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<iostream>
#include<fstream>
#include<stack>
using namespace std;

ifstream fin("combinari.in");
ofstream fout("combinari.out");

int n, k, i;
stack<int> path, res;

void next(int x){
    int j;
    k--;
    if(k > 0) {
        for(j = x + 1; j <= n - k + 1; j++) {
            path.push(j);
            next(j);
        }
    }else{
        while(!path.empty()) {
            res.push(path.top());
            path.pop();
        }
        while(!res.empty()) {
            path.push(res.top());
            fout << res.top() << ' ';
            res.pop();
        }
        fout << '\n';
    }
    path.pop();
    k++;
}

int main() {
    fin >> n >> k;
    for(i = 1; i <= n - k + 1; i++) {
        path.push(i);
        next(i);
    }
    fin.close();
    fout.close();
    return 0;
}