Cod sursa(job #1691737)

Utilizator Pley01Nitu Madalin Pley01 Data 19 aprilie 2016 12:13:03
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#include<iostream>
#include <assert.h>
#include<fstream>
using namespace std;

ifstream fin("combinari.in");
ofstream fout("combinari.out");
#define NMAX 18

void write(int a[], int k)
{
	int i;
	for (i = 0; i < k; i++)
		fout << a[i] << " ";
	fout << endl;
}
int cond(int a[], int k)
{
	for (int i = 0; i < k; i++)
	if (a[i] == a[k] || a[i]>a[k])return 0;
	return 1;
}
void back(int a[], int n,int k,int p)
{
	if (p == k)
		write(a, k);
	else
	for (int i = 1; i <= n; i++)
	{
		a[p] = i;
		if (cond(a,k))
			back(a, n, k ,p+1);
	}
}


int main()
{
	int a[NMAX], n, k;
	fin >> n >> k;
	back(a, n, k,0);
	

	return 0;
}