Cod sursa(job #545473)

Utilizator cnt_tstcont teste cnt_tst Data 3 martie 2011 13:56:01
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream.h>

int X[20];
int n,m;

ofstream g("submultimi.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>n) {
		int vida = 1;
		for (int i=1;i<=n;i++) {
			if (X[i]) {
				g<<i<<" ";
				vida = 0;
			}
		}
		if (!vida)
			g<<"\n";
		return;
	}
	
	for (int i=0;i<=1;i++){
		X[k] = i;
//		if (cont(k))
		back(k+1);
	}
}

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