Cod sursa(job #2394192)

Utilizator S_AndyAndrei S S_Andy Data 1 aprilie 2019 13:21:40
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#define MAX_N 18

using namespace std;

ifstream fin("combinari.in");
ofstream fout("combinari.out");

int v[MAX_N + 1], n, k;
bool u[MAX_N + 1];

void bk(int i) {
	if (i <= k) {
		for (int j = v[i - 1] + 1; j <= n; ++j) {
			if (u[j]) {
				u[j] = false;
				v[i] = j;
				bk(i + 1);
				u[j] = true;
			}
		}
	}
	else {
		for (int j = 1; j <= k; ++j) {
			fout << v[j] << " ";
		}
		fout << "\n";
	}
}

int main() {
	fin >> n >> k;
	for (int i = 1; i <= n; ++i) {
		u[i] = true;
	}
	v[0] = 0;
	bk(1);
}