Cod sursa(job #1477911)

Utilizator BodStfBodoarca Stefan BodStf Data 27 august 2015 13:06:39
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
#include<malloc.h>

int N,K,*sol;

bool verifica(int i)
{
	for(int t=0;t<i;t++)
		if(sol[t]>=sol[i])
			return false;
	return true;
}

void bt(int i,FILE* stream)
{
	if(i==K)
	{
		for(int t=0;t<K;t++)
			fprintf(stream,"%d ",sol[t]);
		fprintf(stream,"\n");
		return;
	}
	int start=1;
	if(i)
		start=sol[i-1]+1;

	for(int p=start;p<=N;p++)
	{
		sol[i]=p;
		if(verifica(i))
			bt(i+1,stream);
	}
}

int main()
{
	FILE* f1,*f2;
	f1=fopen("combinari.in","r");
	f2=fopen("combinari.out","w");
	fscanf(f1,"%d %d",&N,&K);
	sol=(int*)malloc(K*sizeof(int));
	bt(0,f2);
	return 0;
}