Pagini recente » Cod sursa (job #2159580) | Cod sursa (job #549912) | Cod sursa (job #1666385) | Cod sursa (job #633521) | Cod sursa (job #1693067)
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <regex>
#include <queue>
#include <stack>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <cstring>
#include <cctype>
#include <limits>
#include <functional>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll; typedef unsigned long long ull;
const int N = 1234;
int a[N], n, k;
bool valid(int k) {
for (int i = 1; i <= k - 1; i++)
if (a[i] >= a[k]) return false;
return true;
}
void print() {
for (int i = 1; i <= k; i++)
printf("%d ", a[i]);
printf("\n");
}
void backtrack(int t) {
for (int i = 1; i <= n; i++) {
a[t] = i;
if (valid(t)) {
if (t == k) print();
else backtrack(t + 1);
}
}
}
int main() {
#ifdef INFOARENA
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
#endif
scanf("%d %d", &n, &k);
backtrack(1);
}