Cod sursa(job #1731046)

Utilizator serbanmaria15Serban Maria-Catalina serbanmaria15 Data 18 iulie 2016 11:08:44
Problema Submultimi Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>

int n,stiva[16];
FILE *inputFile, *outputFile;


void afisare(int nivelK)
{
	int i;
	for(i=1; i<=nivelK; i++)
	{ 
		fprintf(outputFile,"%d ", stiva[i]);
	}
	
	fprintf(outputFile,"\n");
}

int valid(int nivelK, int cardinal)
{
	int i;
	for(i=1; i<=nivelK; i++)
		if(cardinal == stiva[i]) 
			return 0;
	return 1;
}

void BACK( int nivelK, int cardinal)
{
	int i;
	for(i=cardinal; i<=n; i++)
	{
		stiva[nivelK]=i;
		if(valid(nivelK-1,i))
		{
			afisare(nivelK);
			BACK(nivelK+1,i);		
		}
	}
}

int main()
{
	inputFile=fopen("submultimi.in","r");
	outputFile=fopen("submultimi.out", "w");

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

	BACK(1,1);
	
	return 0;
}