Mai intai trebuie sa te autentifici.

Cod sursa(job #1415937)

Utilizator ZenModeBanuta Mihai ZenMode Data 6 aprilie 2015 21:41:58
Problema Combinari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.77 kb
#include<stdio.h>
#include<stdlib.h>


int n,m, *v;
FILE *g = fopen("combinari.out", "w");


void citire()
{
	FILE *f = fopen("combinari.in", "r");
	fscanf(f, "%d%d", &m, &n);
	v = (int*)calloc(n,sizeof(int));
	//for (int i = 0; i < n; i++)
		//fscanf(f,"%d",&v[i]);
}

void afisare()
{ 
	
	for (int i = 0; i < n; i++)
		fprintf(g,"%d ", v[i]);
	fprintf(g,"\n");
}



int  valid(int k)
{
	for (int i = 0; i < k;i++)
	if (v[i] > v[k] || v[i]==v[k]) 
		return 0;
	return 1;
}

void BT(int k)
{
	if (k == n)
		afisare();
	else
	for (int i = 1; i <= m; i++)
	{
		v[k] = i;
		if (valid(k))
		{
			k++;

			BT(k);
			k--;
		}
		
	}
}




int main()
{

	citire();
	if (n == 0 && m == 0)
		fprintf(g, "1");
	else
	BT(0);
	return 0;

}