Cod sursa(job #359648)

Utilizator proflaurianPanaete Adrian proflaurian Data 27 octombrie 2009 21:53:06
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
int n,k,i,x[25],next_combination();
void read(),solve();
int main()
{
	read();
	solve();
	return 0;
}
void read()
{
	freopen("combinari.in","r",stdin);
	freopen("combinari.out","w",stdout);
	scanf("%d%d",&n,&k);
}
void solve()
{
	for(i=1;i<=k+1;i++)x[i]=i;
	for(;;)
	{
		for(i=1;i<k;i++)printf("%d ",x[i]);printf("%d\n",x[k]);
		if(!next_combination())return;
	}
}
int next_combination()
{
	int j;
	for(j=k;j>=1;j--)if(x[j]-n+k-j)break;
	x[j]++;
	for(i=j+1;i<=n;i++)x[i]=x[i-1]+1;
	return j;
}