Cod sursa(job #170131)

Utilizator alle_forever13Alexandra Retegan alle_forever13 Data 2 aprilie 2008 13:54:49
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<stdio.h>

#define input "combinari.in"
#define output "combinari.out"

#define dim 20

void back();
void init();
void succ();
int valid();
int solutie();
void tipar();


int a[dim];
int n,p,k,st[dim],i,nr=0;

FILE *in, *out;

int main ()
{
	in = fopen (input, "r");
	out = fopen (output, "w");

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

	k=1;
	init();
	back ();
	return 0;

}

void init()
{
	st[k] =0;
}

void succ()
{
	st[k]++;
}

int valid ()
{
	if(st[k]>st[k-1])

		return 1;

	return 0;

}


int solutie()
{

	if(k==p)

		return 1;

	return 0;

}

void tipar()
{
	for(i=1;i<=p;i++)

		fprintf(out, "%d ", st[i]);

	fprintf(out, "\n");

}

void back()

{	while(k>0)
	{
		while(st[k]<n)
		{
			succ();
			if (valid())
				if(solutie())
					tipar();

			else

			{
				k++;

				init();

			}

		}

		k--;

	  }

}