Cod sursa(job #167399)

Utilizator MaGdUtZaVasile Maria-Magdalena MaGdUtZa Data 29 martie 2008 15:59:45
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
#define dim 19

void back(int k);

int ok(int k,int val);

void tiparire();

int n,sol[dim],m;

int main()
{
	freopen("combinari.in","r",stdin);
	freopen("combinari.out","w",stdout);

	scanf("%d%d",&n,&m);

	back(1);

	return 0;
}
void back(int k)
{
	if(k==m+1)

		tiparire();

	else

		for(int val=1; val<=n; ++val)

			if(ok(k,val) && val>sol[k-1])
			{
				sol[k]=val;

				back(k+1);
			}

}
int ok(int k,int val)
{
	for(int j=1; j<k; ++j)

		if(sol[j]==val)

			return 0;

	return 1;
}
void tiparire()
{
	for(int i=1; i<=m; ++i)

		printf("%d ",sol[i]);

	printf("\n");
}