Cod sursa(job #697737)

Utilizator ramrumRadu Bozovici ramrum Data 29 februarie 2012 10:46:27
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
using namespace std;

#define nmax 19
unsigned short int n, m, st[nmax];

void citire()
{
	freopen("submultimi.in", "r", stdin);
	scanf("%hu", &n);
}

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

void comb(unsigned short int k)
{
	for(unsigned short int i = st[k-1]+1; i <= n-m+k; i++)
	{
		st[k] = i;
		if(k == m)
			afisare();
		else
			comb(k+1);
	}
}

int main()
{
	citire(); freopen("submultimi.out", "w", stdout);
	unsigned short int cm; m = n;
	for(unsigned short int i=1; i<=m; i++)
	{
		cm = m; m = i;
		comb(1);
		m = cm;
	}
	return 0;
}