Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 526. Beautiful Arrangement
題目:

解答:
class Solution {
public:
int countArrangement(int n) {
int ans = 0;
vector<bool> used(n + 1, false);
auto dfs = [&](this auto&& dfs, int pos) {
if (pos > n) {
ans += 1;
return;
}
for (int i = 1; i <= n; ++i) {
if (used[i]) {
continue;
}
if (i % pos == 0 || pos % i == 0) {
used[i] = true;
dfs(pos + 1);
used[i] = false;
}
}
};
dfs(1);
return ans;
}
};