Cod sursa(job #800473)

Utilizator adrian79Dobrica Adrian adrian79 Data 21 octombrie 2012 18:13:24
Problema Submultimi Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>


int n, st[100];

int gol()
{ int i=1;
	int fl=1;
for (i=1;i<=n;i++)
	if (st[i]==1) fl=0;
return fl;
}

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

int succesor(int k)
{
	if (st[k]<1) 
		
		{	st[k]++;
			return 1;
		}

return 0;
}

int valid(int k)
{ 	
return 1;
}

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

void tipar(int k)
{
	
	int i=0;
	for (i=1;i<=n;i++)
		if (st[i]==1)
		printf("%d ",i);
if (gol()==0) printf("\n");
}

void back(int k)
{ 
	init(k);
	while (succesor(k))
		if (valid(k)) 
			if (solutie(k)) tipar(k);
			else back(k+1);
}

int main()
{	freopen("submultimi.in","w",stdout);
	freopen("submultimi.out","r",stdin);
		scanf("%d",&n);
		
	back(1);
return 0;
}