Cod sursa(job #374751)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 18 decembrie 2009 11:40:10
Problema Submultimi Scor Ascuns
Compilator cpp Status done
Runda Marime 0.51 kb
#include<stdio.h>
int n,k,nr;
int sol[20],d[20];

void calc()
{
	int i;
	for(i=1;i<=n;i++)
		d[i]=1<<(n-i);
}

void rez()
{
	int x=0,i;
	nr=0;
	for(i=1;i<=n && x<k;i++)
		if(x<k-d[i])
			x+=d[i];
		else
		{
			x++;
			sol[++nr]=i;
		}
}

int main()
{
	freopen("submultimi.in","r",stdin);
	freopen("submultimi.out","w",stdout);
	scanf("%d",&n);
	calc();
	int i,lim=1<<n;
	for(k=1;k<lim;k++)
	{
		rez();
		for(i=1;i<=nr;i++)
			printf("%d ",sol[i]);
		printf("\n");
	}
	return 0;
}