Cod sursa(job #625092)

Utilizator harababurelPuscas Sergiu harababurel Data 23 octombrie 2011 18:48:23
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
int n, i, st[20], x;

ifstream f("combinari.in");
ofstream g("combinari.out");
void tipar() {
	int contor;
	for(contor=1; contor<=x; contor++) {
		g<<st[contor]<<" ";
	}
	g<<endl;
}
int valid(int k) {
	int i;
	for(i=1; i<k; i++) {
		if(st[i]==st[k]) { return 0; }
	}
	if(st[k-1]>st[k]) { return 0; }
	return 1;
}
void back(int k) {
	int i;
	st[1]=1;
	for(i=st[k-1]; i<=n; i++) {
		st[k]=i;
		if(valid(k)) { 
			if(k==x) { tipar(); }
			else { back(k+1); }
		}
	}
}

int main() {
	
	f>>n;
	f>>x;
	back(1);
	
	f.close();
	g.close();
	return 0;
}