Cod sursa(job #1741234)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 13 august 2016 13:21:02
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <iostream>
#include <vector>
 
using namespace std;
int n, p;
ifstream infile; 
ofstream outfile; 

void back(int k, vector<int> &vect, vector<bool> &valid) {
	if (k == p) {
		for (int i = 0; i < p; i ++)
			outfile << vect[i] << " ";
		outfile << endl;
		return;
	}
	else
		for (int i = 1; i <= n; i ++) {
			if (!valid[i - 1] && (k == 0 || i > vect[k - 1])) {
				vect.push_back(i);
				valid[i - 1] = true;
				back(k + 1, vect, valid);
				valid[i - 1] = false;
				vect.pop_back();
			}
		}
}

int main() {
   	infile.open("combinari.in");
	outfile.open("combinari.out");

	infile >> n >> p;
	vector<int> vect;
	vector<bool> valid(n, false);		 
	back(0, vect, valid);

	return 0;
}