Cod sursa(job #2090973)

Utilizator Teodor.mTeodor Marchitan Teodor.m Data 18 decembrie 2017 21:47:37
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

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

int x[19];
int n, p;

bool valid(int k)
{
	for(int i = 1; i < k; ++i)
		if(x[k] == x[i])
			return false;

	if(x[k] <= x[k - 1])
		return false;
	return true;
}

void BK()
{
	int k = 1;

	while(k > 0) {
		while(x[k] < n) {
			x[k]++;
			if(valid(k))
				if(k == p) {
					for(int i = 1; i <= p; ++i)
						fout << x[i] << " ";
					fout << '\n';
				}
				else {
					k++;
					x[k] = 0;
				}
		}
		k--;
	}
}

int main()
{
	fin >> n >> p;

	BK();

	return 0;
}