Pagini recente » Cod sursa (job #1205193) | Cod sursa (job #2540501) | Cod sursa (job #2723785) | Cod sursa (job #649338) | Cod sursa (job #2152323)
#include <fstream>
#define MAXN 24
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int N, K, x[MAXN], fr[MAXN];
inline void Read() {
fin >> N >> K;
}
inline int cond(int k) {
if (fr[x[k]])
return 0;
return 1;
}
inline void Afisare() {
for (int i = 1; i <= K; i++)
fout << x[i] << " ";
fout << "\n";
}
inline void bkt() {
int k = 1;
while (k) {
if (x[k] < N) {
x[k]++;
if (cond(k)) {
if (k == K)
Afisare();
else if (k < K) {
fr[x[k]]++;
k++;
x[k] = x[k - 1];
}
}
}
else {
k--;
fr[x[k]] = 0;
}
}
}
int main () {
Read();
bkt();
fin.close(); fout.close(); return 0;
}