跳转至

526 优美的排列

题目 526. 优美的排列 - 力扣(LeetCode) (leetcode-cn.com)

解题思路#

常规状态压缩,(偷懒直接在测试台输入 1-15 的样例打表也可以)

代码#

```cpp
class Solution {
public:
int countArrangement(int n) {
int a[16][1<<n];
memset(a, 0, sizeof(a));
a[0][0] = 1;
for(int i=1;i<=n;i++) {
for(int j=0;j<(1<<n);j++) {
for(int k=1;k<=n;k++) {
if (k%i!=0&&i%k!=0) continue;
if (j & (1<<(k-1))) continue;
a[i][j|(1<<(k-1))] += a[i-1][j];
}
}
}
return a[n][(1<<n)-1];
}
};


最后更新: 2022-11-15

评论