Cod sursa(job #1679885)

Utilizator mihainicolae80Mihai Nicolae mihainicolae80 Data 8 aprilie 2016 12:27:18
Problema Submultimi Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;


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

void BT_combinari(int depth,int K,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_combinari(depth+1,K,out);
			folosit[i] = false;
		}
	}
}

int main(){
	int i,K;
	ifstream in("submultimi.in");
	ofstream out("submultimi.out");

	in >> N;

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

	for(i = 1; i <= N; i++)
	BT_combinari(0, i, out);

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