Cod sursa(job #153604)

Utilizator MarquiseMarquise Marquise Data 10 martie 2008 17:15:01
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>

#define NMAX 20

int st[NMAX], viz[NMAX], n, m;


void write()
{
	int i;
	for ( i = 1; i <= m; i++)
		printf("%d ", st[i]);
	printf("\n");
}


void back(int k)
{
	int i;
	if ( k == m + 1)
		write();
	else
		for ( i = st[k - 1] + 1; i <= n - m + k; i++)
			if ( !viz[i])
			{
				st[k] = i;
				viz[i] = 1;
				back(k+1);
				viz[i] = 0;
			}
}


int main()
{
	freopen("combinari.in", "r", stdin);
	freopen("combinari.out", "w", stdout);
	scanf("%d %d", &n, &m);
	back(1);
	return 0;
}