Pagini recente » Cod sursa (job #1650379) | Cod sursa (job #1130181) | Cod sursa (job #974482) | Cod sursa (job #561) | Cod sursa (job #1446068)
#include <cstdio>
#include <cassert>
#include <algorithm>
#define _submit
#ifdef _submit
#define InFile "combinari.in"
#define OutFile "combinari.out"
#else
#define InFile "fis.in"
#define OutFile "fis.out"
#endif
void bkt(int n, int m) {
int st[20];
st[0] = 0;
int k = 0;
while (k > -1) {
bool OK = false;
while (st[k] < n && !OK) {
OK = true;
st[k]++;
for (int i = 0; i < k; i++)
if (st[i] == st[k]) {
OK = false;
break;
}
}
if (OK) {
if (k + 1 == m) {
for (int i = 0; i < m; i++)
printf("%d ", st[i]);
printf("\n");
}
else {
k++;
st[k] = 0;
}
}
else
k--;
}
}
int main() {
assert(freopen(InFile, "r", stdin));
assert(freopen(OutFile, "w", stdout));
int n, m;
scanf("%d%d", &n, &m);
bkt(n, m);
return 0;
}