Cod sursa(job #411804)

Utilizator RoswenRus Alexandru Roswen Data 5 martie 2010 10:18:23
Problema Combinari Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
FILE *f=fopen("combinari.in","r"), *g=fopen("combinari.out","w");
int st[19],n,k,i,m,j;
int valid()
{
	for(i=1;i<=n;i++)
		for(j=i+1;j<=n;j++)
			if(i!=j)
				if(st[i]==st[j])
					return 0;
	return 1;
}
void tip()
{
	int i;
	for(i=1;i<=m;i++)
		fprintf(g,"%d ", st[i]);
	fprintf(g, "\n");
}
void back(int k)
{
	int i;
	for(i=st[k-1]+1;i<=n;i++)
	{
		st[k]=i;
		if(k==m && valid())
			tip();
		else back(k+1);
	}
}
int main()
{
	fscanf(f,"%d%d", &n, &m);
	back(1);	
	return 0;
}