Cod sursa(job #1391373)

Utilizator vladdeditaVlad Dedita vladdedita Data 17 martie 2015 21:27:42
Problema Combinari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>
#include<stdlib.h>
FILE *fIn, *fOut;
int sol[18];

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

void combinari(int n, int k,int poz)
{
	if (poz == n-1)
	{
		for (int i = 0; i < k; i++)
			fprintf(fOut,"%d ", sol[i]);
		fprintf(fOut,"\n");
	}

	for (int i = 1; i <= n; i++)
	{
		sol[poz] = i;
		if (validare(poz))
			combinari(n, k, poz + 1);
	}
	
}
void main()
{
	fIn = fopen("combinari.in", "r");
	fOut = fopen("combinari.out", "w");
	int n;
	int k;
	fscanf(fIn, "%d", &n);
	fscanf(fIn, "%d", &k);
	combinari(n,k,0);
	fclose(fIn);
	fclose(fOut);


}