Cod sursa(job #1467140)

Utilizator aimrdlAndrei mrdl aimrdl Data 2 august 2015 21:41:50
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include "iostream"
#include "fstream"

using namespace std;

int n, k;

inline void print (int *c) {
	for (int i = 0; i < k; ++i) {
		cout << c[i];
	}
	cout << "\n";
}



int main (void) {
	freopen("combinari.in", "r", stdin);
	freopen("combinari.out", "w", stdout);
	ios::sync_with_stdio(false); 
	
	cin >> n >> k;
	
	int c[k], max[k];
	c[0] = 1;
	max[0] = n-k+1;
	for (int i = 1; i < k; ++i) {
		c[i] = c[i-1] + 1;
		max[i] = max[i-1] + 1;
	}
	
	print(c);
	
	int i = k-1;		
	
	while (c[0] < max[0]) {
		if (c[i] < max[i]) {
			++c[i];
			print(c);
		} else if (c[i-1] < max[i-1]) {
				++c[i-1];
				
				for (int j = i; j < k; ++j) {
					c[j] = 1 + c[j-1];
				}				
				print(c);
				
				i = k-1;
		} else {
			--i;
		}
	}
	 
	return 0;
}