Cod sursa(job #1847838)
| Utilizator | Data | 15 ianuarie 2017 09:56:07 | |
|---|---|---|---|
| Problema | Combinari | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 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;
}
