原题链接:全排列问题 - 洛谷
目录
1. 题目描述
2. 思路分析
3. 代码实现
1. 题目描述
2. 思路分析
dfs典题
3. 代码实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int N = 20;
ll n, a[N];
bool vis[N];
void dfs(ll x) {
if (x > n) {
for (int i = 1; i <= n; i++) {
printf("%5lld", a[i]);
}
printf("\n");
return;
}
for (int i = 1; i <= n; i++) {
if (!vis[i]) {
a[x] = i;
vis[i] = true;
dfs(x + 1);
vis[i] = false;
}
}
}
int main() {
scanf("%lld", &n);
dfs(1);
return 0;
}