Cod sursa(job #806219)

Utilizator razvan9310FMI - Razvan Damachi razvan9310 Data 2 noiembrie 2012 01:33:19
Problema Submultimi Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
using namespace std;

int st[17], k, i, n;
ifstream in("submultimi.in");
ofstream out("submultimi.out");

void init()
{
	st[k] = -1;
}

bool succesor()
{
	if (st[k] < 1)
	{
		st[k]++;
		return true;
	}
	return false;
}

bool valid()
{
	return true;
}

bool solutie()
{
	return (k == n);
}

void tipar()
{
	bool smeq = false;
	for (i=1;i<=n;i++)
		if (st[i])
		{
			out<<i<<" ";
			smeq = true;
		}
	if (smeq) out<<endl;
}

void bkt()
{
	int as;
	k=0;
	while (k>=0)
	{
		do
		{}
		while ((as=succesor()) && (!valid()));
		if (as)
			if (solutie())
				tipar();
			else
			{
				k++;
				init();
			}
		else
			k--;
	}
}

int main()
{
	in>>n;
	bkt();
	return 0;
}