提交时间:2024-03-09 09:09:31

运行 ID: 136400

#include <bits/stdc++.h> using namespace std; int n, m; const int N = 1e6 + 005; int res[N], us[N]; void dfs(int cur) { if (cur > m) { for (int i = 1; i <= m; i++) cout << res[i]; cout << endl; return; } if (!res[cur - 1]) res[cur - 1] = 1; for (int i = res[cur - 1]; i <= n; i++) { if (!us[i]) { us[i] = true; res[cur] = i; dfs(cur + 1); us[i] = false; } } } int main() { cin >> n >> m; dfs(1); }