Cod sursa(job #545467)

Utilizator cnt_tstcont teste cnt_tst Data 3 martie 2011 13:48:44
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream.h>

int X[20];
int n,m;

ofstream g("combinari.out");


int cont(int k) {
	//verific daca elementul de pe nivelul k impreuna cu cele de pe nivelele 1..k-1 poate sa conduca la solutie
	//stiind ca aceeasi verificare o facusem cu fiecare dintre elementele anterioare
	for (int i=1;i<k;i++)
		if (X[i] == X[k])
			return 0;
	return 1;
}

void back(int k) {
	if (k>m) {
		for (int i=1;i<=m;i++)
			g<<X[i]<<" ";
		g<<"\n";
		return;
	}
	
	for (int i=X[k-1]+1;i<=n;i++){
		X[k] = i;
//		if (cont(k))
		back(k+1);
	}
}

int main() {
	ifstream f("combinari.in");
	f>>n>>m;
	f.close();
	back(1);	
	g.close();
	return 0;
}