Cod sursa(job #186860)

Utilizator tvladTataranu Vlad tvlad Data 28 aprilie 2008 20:57:49
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;

const int K = 18;
const int N = 18; 

int n,k;
int x[K];
bool used[N];

void back ( int lvl ) {
	for (x[lvl] = (lvl == 0) ? 1 : x[lvl-1]+1; x[lvl] <= n; ++x[lvl]) {
		if (!used[x[lvl]]) {
			used[x[lvl]] = true;
			if (lvl < k-1) {
				back(lvl+1);
			} else {
				for (int i = 0; i < k; ++i) printf("%d ",x[i]);
				printf("\n");
			}
			used[x[lvl]] = false;
		}
	}
}

int main() {
	freopen("combinari.in","rt",stdin);
	freopen("combinari.out","wt",stdout);
	scanf("%d %d",&n,&k);
	back(0);
	return 0;
}