更优解
2024-07-06 11:58:30
发布于:广东
15阅读
0回复
0点赞
#include <iostream>
#include <iomanip> // 添加此头文件以使用 setw
void dfs(int step, int n, int a[], bool flag[]) {
if (step > n) {
for (int i = 1; i <= n; i++) {
stdcout << stdsetw(5) << a[i]; // 使用 setw 保持宽度
}
stdcout << stdendl;
return;
}
for (int i = 1; i <= n; i++) {
if (!flag[i]) {
a[step] = i;
flag[i] = true;
dfs(step + 1, n, a, flag);
flag[i] = false;
}
}
}
int main() {
int n;
std::cin >> n;
int a[n + 1];
bool flag[n + 1] = {false};
dfs(1, n, a, flag);
return 0;
}
这里空空如也
有帮助,赞一个