arcticfox_LQX @ 2024-04-06 15:31:42
#include <bits/stdc++.h>
using namespace std;
int n, k;
int a[15], use[15];
void dfs(int pos) {
if(pos == n+1) {
for(int i = 1; i <= k; i++)
cout << a[i] << ' ';
cout << endl;
return;
}
for(int i = 1; i <= n; i++)
if(use[i]==0) { // 如果第 i 个元素没有被使用
use[i] = 1; // 将其标记为被使用
a[pos]=i; // 更新 a[pos]
dfs(pos+1); // 枚举下一个
use[i] =0; // 将其标记为未被使用
}
}
int main() {
cin >> n >> k;
dfs(1);
return 0;
}
by Andrews123 @ 2024-04-13 20:44:34
dfs里那个IF pos==n+1 不对,改一下,这里不能直接给出答案请谅解…… @liqiuxu
by czh___ @ 2024-05-09 05:56:40
@liqiuxu pos=k+1