Cod sursa(job #1853474)
Utilizator | Nechifor Alexandru alexneki | Data | 21 ianuarie 2017 20:14:39 |
---|---|---|---|
Problema | Combinari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n, h;
int sol[201];
void explore(int k) {
if (k == h) {
for (int i = 0; i < h; i++) {
cout << sol[i] << " ";
}
cout << endl;
} else { // n-k+h
for (int i = sol[k - 1] + 1; i <= n - h + k + 1; i++) {
sol[k] = i;
explore(k + 1);
}
}
}
int main() {
freopen("combinari.in", "rt", stdin);
freopen("combinari.out", "wt", stdout);
cin >> n >> h;
for (int i = 1; i <= n - h + 1; i++) {
sol[0] = i;
explore(1);
}
return 0;
}