Cod sursa(job #2168430)

Utilizator futurengineerOana Rosca futurengineer Data 14 martie 2018 10:56:26
Problema Combinari Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

int n, k, a[20];

ofstream fo("combinari.out");

void afisare() {
  for (int i = 1; i <= k; i++)
    fo << a[i] << ' ';
  fo << '\n';
}

bool valid(int l) {
  if (a[1] == a[l] and l != 1)
    return false;
  for (int i = 2; i <= l; i++)
    if (a[i] == a[l] and i != l or a[i-1] > a[i])
      return false;
  return true;
}

void bt(int l) {
  for (int i = 1; i <= n; i++) {
    a[l] = i;
    if (valid(l)) {
      if (l == k)
        afisare();
      else
        bt(l+1);
    }
  }
}

int main () {
  ifstream fi("combinari.in");
  fi >> n >> k;
  bt(1);
  return 0;
}