Cod sursa(job #560413)

Utilizator t2011tVasilescu Popescu t2011t Data 18 martie 2011 14:46:32
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>

FILE *in,*out;
int n,k,global[100];

void tipar(int nivel);
bool valid(int nivel);
void back(int nivel);

int main()
{
in=fopen("combinari.in","rt");
out=fopen("combinari.out","wt");

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

back(0);

fclose(in);
fclose(out);
return 0;
}

void back(int nivel)
{
int i;
for(i=1;i<=n;i++)
	{
	global[nivel]=i;
	if(valid(nivel))
		{
		if(nivel==k-1)
			tipar(nivel);
		else
			back(nivel+1);
		}
	}
}

bool valid(int nivel)
{
if(nivel>0)
	if(global[nivel]<=global[nivel-1])
		return false;

return true;
}

void tipar(int nivel)
{
int i;
for(i=0;i<k;i++)
	fprintf(out,"%d ",global[i]);
fprintf(out,"\n");
}