Cod sursa(job #227237)

Utilizator ZillaMathe Bogdan Zilla Data 3 decembrie 2008 23:01:13
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

FILE *f=fopen("combinari.in","r"),*g=fopen("combinari.out","w");

int n,m,st[18];

void back(int);
void tiparire();
int ok(int);

int main()
{

	fscanf(f,"%d%d",&n,&m);
	back(0);
	return 0;
}

void back(int k)
{
	int i;
	if(k==m)
		tiparire();
	else
		for(i=1;i<=n;++i)
			{
				st[k]=i;
				if(ok(k))
					back(k+1);
			}
}

int ok(int k)
{
	if(k==0)
    	return 1;
	if(st[k]>st[k-1])
		return 1;
	return 0;
}

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