全排列
2025-02-07 13:30:34
发布于:上海
#include<iostream>
using namespace std;
bool vis[15];
int n, num[15];
void check() {
for (int i = 1; i <= n; i++) {
printf("%5d", num[i]);
}
cout << endl;
return;
}
void dfs(int now) {
if (now == n + 1) {
check();
return;
}
for (int i = 1; i <= n; i++) {
if (!vis[i]) {
vis[i] = 1;
num[now] = i;
dfs(now + 1);
vis[i] = 0;
num[now] = 0;
}
}
return;
}
int main() {
cin >> n;
dfs(1);
return 0;
}
这里空空如也
有帮助,赞一个