Cod sursa(job #196942)

Utilizator piroslPiros Lucian pirosl Data 30 iunie 2008 13:05:18
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>

int n,k;
int comb[19];
FILE* fin;
FILE* fout;

void print()
{
	int i;
	for(i=0;i<k-1;++i)
		fprintf(fout, "%d ", comb[i]);
	fprintf(fout,"%d\n", comb[k-1]);
}

void combinari(int p)
{
	int s, i;
	if(p >= k) 
	{
		print();
		return;
	}
	s = (p==0)?1:(comb[p-1]+1);
	for(i=s;i<=n;++i)
	{
		comb[p] = i;
		combinari(p+1);
	}
}

int main(void)
{
	fin = fopen("combinari.in", "r");
	fout = fopen("combinari.out", "w+");
	fscanf(fin, "%d %d", &n, &k);
	combinari(0);
	fclose(fin);
	fclose(fout);
}