Cod sursa(job #415346)

Utilizator Cristi09Cristi Cristi09 Data 11 martie 2010 10:40:41
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
int x[20],n,k,ind,as,ev;
FILE*g=fopen("combinari.out","w");
void read()
{
	FILE*f=fopen("combinari.in","r");
	fscanf(f,"%d%d",&n,&k);
	fclose(f);
}
void succesor()
{
	as=0;
	if(x[ind]<=n)
	do
	{
		++x[ind];
	}while(x[ind]<=n&&x[ind]<=x[ind-1]);
	if(x[ind]<=n)as=1;
}
int sol()
{
	return k-1==ind;
}
void tipar()
{
	int i;
	for(i=0;i<k;++i)
		fprintf(g,"%d ",x[i]);
	fprintf(g,"\n");
}
int main()
{
	read();
	while(ind>=0)
	{
		succesor();
		if(as)
		{
			if(sol())
				tipar();
			else {++ind;x[ind]=x[ind-1];}
		}
		else --ind;
	}
	fclose(g);
	return 0;
}