Pagini recente » Cod sursa (job #3170332) | Cod sursa (job #1943003) | Cod sursa (job #2711602) | Cod sursa (job #622102) | Cod sursa (job #1503229)
#include <iostream>
#include <climits>
using namespace std;
bool isValid(int st[], int k) {
for (int i = 1; i < k; i++) {
if (st[i] == st[k]) {
return false;
}
}
return true;
}
void print(int st[], int n) {
for (int i = 1; i <= n; i++) {
cout << st[i] << " ";
}
cout << "\n";
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
int n, k, st[30], level;
cin >> n >> k;
level = 1;
st[1] = 0;
while (level > 0) {
st[level]++;
if (st[level] == n + 1) {
level--;
} else {
if (isValid(st, level)) {
level++;
st[level] = st[level-1];
}
if (level == k + 1) {
print(st, k);
level--;
}
}
}
return 0;
}