Cod sursa(job #1853462)
Utilizator | Nechifor Alexandru alexneki | Data | 21 ianuarie 2017 20:04:57 |
---|---|---|---|
Problema | Combinari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
int n, h;
int sol[201];
void explore(int k) {
if (k == h) {
for (int i = 0; i < h; i++) {
out << sol[i] << " ";
}
out << 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() {
in >> n >> h;
for (int i = 1; i <= n - h + 1; i++) {
sol[0] = i;
explore(1);
}
return 0;
}