Pagini recente » Cod sursa (job #412947) | Cod sursa (job #476661) | Cod sursa (job #3253965) | Cod sursa (job #1668083) | Cod sursa (job #2499398)
#include <cstdio>
#include <vector>
using namespace std;
int N, K;
vector<int> currentSol;
void consume() {
for (auto& value : currentSol) {
printf("%d ", value);
}
printf("\n");
}
void back(int remainingElems) {
if (remainingElems == 0) {
consume();
return;
}
int start = currentSol.empty() ? 0 : currentSol.back();
for (int nextElem = start + 1; nextElem <= N; nextElem++) {
currentSol.push_back(nextElem);
back(remainingElems - 1);
currentSol.pop_back();
}
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d%d", &N, &K);
currentSol.reserve(N);
back(K);
return 0;
}