Cod sursa(job #485665)

Utilizator GodiesVlad Voicu Godies Data 19 septembrie 2010 00:49:57
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <iostream>

#define NMAX 20001

int v[20];
FILE *f, *g;

using namespace std;

int ok(int k)
{
	int i;
	for (i = 1; i < k; i++)
		if (v[k] <= v[i])
			return 0;
	return 1;
}

void back(int n, int h, int k)
{
	int i;
	if (k == h + 1) {
		for (i = 1; i < k; i++)
			fprintf(g, "%d", v[i]);
		fprintf(g, "\n");
	}
	else {
		for (i = 1; i <= n; i++) {
			v[k] = i;
			if (ok(k)) {
				back(n, h, k+1);
			}
		}
	}
}

int main()
{       
	int n, h;
	vector <int> comb;
	f = fopen("combinari.in", "rt");
	g = fopen("combinari.out", "wt");
	fscanf(f, "%d", &n);
	fscanf(f, "%d", &h);
	back(n, h, 1);
	return 0;
}