Cod sursa(job #821992)

Utilizator nimeniaPaul Grigoras nimenia Data 22 noiembrie 2012 20:47:37
Problema Submultimi Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <math.h>

using namespace std;

ifstream in("submultimi.in");
ofstream out("submultimi.out");

void printSubsets(int num, int maxBits) {

	int mask;

	for (int i = 0; i < maxBits - 1; i++) {
		int mask = 1 << i;
		if ( (mask & num) == mask)
			out << i + 1 << " ";
	}

	mask = 1 << (maxBits - 1);
	if ( (mask & num) == mask)
		out << (maxBits - 1) + 1;

	out << endl;

}

int main() {
	
	int n, maxNum, num = 0;
	in >> n;
	maxNum = pow(2.0, n);
	while (num < maxNum - 1) {
		num++;
		printSubsets(num, n);
	}

	return 0;
}