Cod sursa(job #586381)

Utilizator varuvasiTofan Vasile varuvasi Data 30 aprilie 2011 21:12:32
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <vector>
#include <stdio.h>

#define maxn 20

using namespace std;

int N, K;
int x[maxn], used[maxn];

FILE *fin, *fout;

void back(int k)
{
	int i;
	if (k == K + 1)
	{
		for (i=1; i<=K; i++)
			fprintf(fout, "%d ", x[i]);
		fprintf(fout, "\n");
	}
	for (i=x[k-1] + 1; i<=N; i++)
		if (!used[i])
		{
			used[i] = 1;
			x[k] = i;
			back(k+1);
			used[i] = 0;
		}
}

int main()
{
	fin = fopen("combinari.in", "rt"), fout = fopen("combinari.out", "wt");
	fscanf(fin, "%d %d", &N, &K);
	back(1);

	fclose(fin), fclose(fout);
	return 0;
}