lc526. 优美的排列

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

题解

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

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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];
}
};
作者

Ryen Xiang

发布于

2023-04-03

更新于

2024-08-05

许可协议


网络回响

评论