Cod sursa(job #825092)

Utilizator taigi100Cazacu Robert taigi100 Data 27 noiembrie 2012 14:38:06
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
int n,v[20];
FILE *g=fopen("submultimi.out","w");
void afisare(int k)
{
	for(int i=1;i<=k;i++)
		fprintf(g,"%d ",v[i]);
	fprintf(g,"\n");
}
int verifica(int k)
{
	for(int i=1;i<k;i++)
		for(int j=i+1;j<=k;j++)
		{
			if(v[i]==v[j])
				return 0;
			if(v[j]<v[j-1])
				return 0;
		}
	return 1;
}
void bk(int k)
{
	int i;
	if(k<=n)
		for(i=1;i<=n;i++)
		{
			v[k]=i;
			
			if(verifica(k)==1)
			{
				afisare(k);
				bk(k+1);
			}
		}
}

int main()
{
	FILE *f=fopen("submultimi.in","r");
	fscanf(f,"%d",&n);
	bk(1);
	return 0;
}