Cod sursa(job #362249)

Utilizator iuly2freemanVasiliev Iulian iuly2freeman Data 8 noiembrie 2009 18:19:26
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>

std::ifstream  fin("combinari.in");
std::ofstream fout("combinari.out");

std::vector<int> c;
int n, k;

void citire()
{
	fin >> n >> k;
}

void afisare()
{
	copy(c.begin(), c.end(), std::ostream_iterator<int>(fout, " "));
	fout << "\n";
}

bool check(int i)
{
	for (int j = 0; j < i; j++)
	{
		if (c[i] <= c[j]) return 0;
	}
	return 1;
}

void gen(int i)
{
	if (i == k) afisare();
	else
	{
		for (int j = c[i - 1]; j <= n; j++)
		{
			c.push_back(j);
			if (check(i)) gen(i + 1);
			c.pop_back();
		}
	}
}

int main()
{
	citire();
	
	gen(0);
}