Cod sursa(job #3355349)

Utilizator lori521Lorena Tanase lori521 Data 22 mai 2026 16:26:13
Problema Submultimi Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#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;
}