Cod sursa(job #1679883)

Utilizator mihainicolae80Mihai Nicolae mihainicolae80 Data 8 aprilie 2016 12:26:54
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

int N,K;
bool folosit[200];
int vec[200];

void BT(int depth,ofstream &out){
	int i;
	if(depth >= K){
		for(i = 0; i < K; i++)
			out << vec[i]<<" ";
		out << endl;
	}
	else{
		for(i = 1; i <= N; i++)
		if(folosit[i] == false && (depth == 0
			||(i > vec[depth-1]))){
			folosit[i] = true;
			vec[depth] = i;
			BT(depth+1,out);
			folosit[i] = false;
		}
	}
}

int main(){

	int i;
	ifstream in("combinari.in");
	ofstream out("combinari.out");

	in >> N >> K;

	for(i = 0; i < N; i++)
		in >> vec[i];

	BT(0, out);

	in.close();
	out.close();
	return 0;
}