Cod sursa(job #1989958)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 9 iunie 2017 18:52:38
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("submultimi.in");
ofstream cout("submultimi.out");

void submult(int n, vector<int> &sol, vector<bool> &used){
  for(auto &x : sol)
    cout << x << ' ';
  int lim = 0;
  if(sol.size())
    lim = sol.back();
  if(lim)
    cout << '\n';
  else
    lim += 1;
  for(int i = lim; i <= n; i++){
    if(used[i])
      continue;
    sol.push_back(i);
    used[i] = true;
    submult(n, sol, used);
    used[i] = false;
    sol.pop_back();
  }
}

int main(){
  int n;
  vector<int> sol;
  vector<bool> used(n + 1, false);
  cin >> n;
  submult(n, sol, used);

}