Cod sursa(job #1081286)

Utilizator adrianvVasiu Adrian-Daniel adrianv Data 13 ianuarie 2014 14:55:03
Problema Submultimi Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
using namespace std;
FILE *in, *out;
void bec(int k);
int valid(int k);
void tipar(int k);

int n,v[100];
int main()
{
	in = fopen("submultimi.in", "rt");
	out = fopen("submultimi.out", "wt");

	fscanf(in,"%d",&n);

	bec(1);


	fclose(in);
	fclose(out);
	return 0;
}
void bec(int k)
{
	for(int i=1;i<=n;i++)
	{
		v[k]=i;
		if(valid(k))
		{
			tipar(k);
			bec(k+1);
		}
	}
}
int valid(int k)
{
	if(k==1)
		return 1;
	if(k>1)
	{
		if(v[k]-v[k-1]==1)
			return 1;
		else return 0;
	}
}
void tipar(int k)
{
	for(int i=1;i<=k;i++)
	{
		fprintf(out,"%d ",v[i]);
	}
	fprintf(out,"\n");
}