Pagini recente » Cod sursa (job #861449) | Cod sursa (job #1349196) | Cod sursa (job #2225360) | Cod sursa (job #1120815) | Cod sursa (job #3355349)
#include <cstdio>
#include <iostream>
#include <vector>
using namespace std;
void backtracking(int n, int step, vector<int> &solution) {
if (step <= n + 1 && solution.size() > 0) {
for (int i = 0; i < solution.size(); i++)
printf("%d ", solution[i]);
printf("\n");
}
for (int i = step; i <= n; i++) {
int value = i;
/* do */
solution.push_back(value);
/* backtracking */
backtracking(n, i + 1, solution);
/* undo */
solution.pop_back();
}
}
int main(int argc, char *argv[]) {
// int n;
// scanf("%d", &n);
// fisiere
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
int n;
if (scanf("%d", &n) != 1)
return 0;
vector<int> solution;
backtracking(n, 1, solution);
return 0;
}