Cod sursa(job #2254385)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 5 octombrie 2018 11:01:57
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

FILE *fin = fopen ("combinari.in", "r"), *fout = fopen ("combinari.out", "w");

const int MAXN = 18;

int a[MAXN + 1];

int n, k;

void back (int p, int nr) {
  if (p == n + 1) {
    if (nr != k)
      return;
    for (int i = 1; i <= n; i++)
      if (a[i])
        fprintf (fout, "%d ", i);
    fprintf (fout, "\n");
  }
  else {
    a[p] = 1;
    back (p + 1, nr + 1);
    a[p] = 0;
    back (p + 1, nr);
    a[p] = 0;
  }
}

int main() {
  fscanf (fin, "%d%d", &n, &k);
  back (1, 0);
  fclose (fin);
  fclose (fout);
  return 0;
}