Cod sursa(job #1989950)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 9 iunie 2017 18:14:22
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <vector>

using namespace std;

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

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

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

}