Cod sursa(job #1847834)

Utilizator alexnekiNechifor Alexandru alexneki Data 15 ianuarie 2017 09:47:07
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");

int n, h;
int sol[201];
bool vis[201];

void explore(int k, int y) {
  if (k == h) {
    for (int i = 0; i < h; i++) {
      out << sol[i] << " ";
    }
    out << endl;
  } else { // n-k+h
    for (int i = y + 1; i <= n - h + k + 1; i++) {
      if (vis[i] == 0) {
        sol[k] = i;
        vis[i] = 1;
        explore(k + 1, i);
        vis[i] = 0;
      }
    }
  }
}

int main() {
  in >> n >> h;
  explore(0, 0);
  return 0;
}