AcWing 842. 排列数字
原题链接
简单
作者:
王小强
,
2021-01-26 13:20:44
,
所有人可见
,
阅读 237
Permutation Algorithm (经典的全排列算法) 时间复杂度: $O(2^n)$
#include <iostream>
#include <vector>
using namespace std;
int n, used[8];
vector<int> candidates;
void permute() {
if (int(candidates.size()) == n) {
for (int x : candidates) cout << x << ' ';
cout << endl;
return;
}
for (int i = 1; i <= n; ++i) {
if (used[i]) continue;
used[i] = 1;
candidates.emplace_back(i);
permute();
candidates.pop_back();
used[i] = 0;
}
}
int main() {
cin >> n;
permute();
return 0;
}