Cod sursa(job #2066171)

Utilizator alina13mAlinaaa alina13m Data 14 noiembrie 2017 19:01:32
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

std :: ifstream cin("combinari.in");
std :: ofstream cout ("combinari.out");

#define NMAX 18
int n, k;
int result[NMAX], checker[NMAX];

/*
	backtracking(int k)
	1) check => show the solution
	2) for(int i = 1; i <= length; i++){
		v[k] = set()
		backtracking(k+1);
		v[k] = unset();
	}
*/

void combinari(int tmp, int n, int k){

	if(tmp - 1 == k){
		for(int i = 1; i <= k; i++){
			cout << result[i] << " ";
		}
		cout << "\n";
	
	}else{
		for(int i = 1; i <= n; i++){
			if(checker[i] != 1 && result[tmp - 1] < i){
				checker[i] = 1;
				result[tmp] = i;
				combinari(tmp + 1, n, k);
				checker[i] = 0;
			}
		}
	}
}

int main () {

	cin >> n >> k;
	combinari(1, n, k);

	return 0;

}