Cod sursa(job #1972308)

Utilizator Robert29FMI Tilica Robert Robert29 Data 22 aprilie 2017 19:28:00
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
using namespace std;
FILE*f = fopen("combinari.in", "r");
FILE*g = fopen("combinari.out", "w");

void Back(int *comb, bool *viewed, int n, int k, int i)
{

	if(i > k)
	{
		for(int j = 1; j <= k; ++j)
		{
			fprintf(g, "%d ", comb[j]);
		}
		fprintf(g, "\n");
		return;
	}

	for(int j = 1; j <= n; ++j)
	{
		if(!viewed[j])
		{
			comb[i] = j;
			viewed[j] = true;
			Back(comb, viewed, n, k, i + 1);
			viewed[j] = false;
		}
	}

}

int main(){
	int n, k;
	fscanf(f, "%d%d", &n, &k);

	int comb[k + 1];
	bool viewed[n + 1];
	for(int i = 1; i <= n; ++i)
	{
		viewed[i] = false;
	}

	Back(comb, viewed, n, k, 1);

	fclose(f);
	fclose(g);
	return 0;
}