题解 | 全排列
全排列
https://www.nowcoder.com/practice/1d1fe38275da44b5848add89f9e223b1
#include<bits/stdc++.h>
using namespace std;
int n;
int arr[20];
int check[20];
void print() {
for (int i = 1; i <= n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void dfs(int k) {
if (k > n) {
print();
} else {
for (int i = 1; i <= n; i++) {
if (check[i] == 0) {
arr[k] = i;
check[i] = 1;
dfs(k + 1);
check[i] = 0;
}
}
}
}
int main() {
cin >> n;
dfs(1);
return 0;
}

