棋盘放车(DP状态压缩)
来源:互联网 发布:oracle sql case when 编辑:程序博客网 时间:2024/05/29 13:22
在n*n(n≤20)的方格棋盘上放置 n 个车(可以攻击所在行、列),求使它们不能互相攻击的方案总数。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int INF=(1<<20)-1;long long f[INF];int main(){ int n; scanf("%d",&n); long long i,S,j; f[0]=1; for(S=1;S<=(1<<n)-1;++S) //遍历所有的状态 { for(i=1;i<=n;++i) //把S的每个1变成0,累加 { if(( S & 1<<(i-1))>0)//状态S的第i列有棋子, { long long s=S^1<<(i-1);//去掉第i列的1 f[S]+=f[s]; } } } printf("%lld\n",f[(1<<n)-1]); //注意要用 lld才能得到正确结果 return 0;}
阅读全文
0 0
- 棋盘放车(DP状态压缩)
- 棋盘放车(有些点不能放)(DP状态压缩)
- poj1321 棋盘问题,状态压缩dp
- 状态压缩DP POJ 1321 棋盘问题
- poj 1321 状态压缩dp-棋盘问题
- POJ 1321 棋盘问题 DFS 和 状态压缩DP
- poj1321 棋盘问题(状态压缩)
- poj-1321 棋盘问题(状态压缩)
- POJ1753 状态压缩(+BFS) + 棋盘问题
- 棋盘问题---状态压缩
- hdu1565(状态压缩dp)
- 状态压缩DP(二)
- 状态压缩dp(hdu3406)
- poj2411(状态压缩dp)
- poj1185(状态压缩dp)
- poj3311(状态压缩dp)
- poj3254(状态压缩dp)
- poj2288(状态压缩dp)
- intellij idea出现“Usage of API documented as @since 1.6+”的解决办法
- 算法总结一
- leetcode 46. Permutations 全排列问题+递归
- ⑦ 设计模式之门面模式【 Facade Pattern】
- 基于js的简单队列实现
- 棋盘放车(DP状态压缩)
- Java多线程--内存模型
- React框架精髓
- 【C++】vector的使用方法
- MySQL建表规约
- pat 乙级 1008. 数组元素循环右移问题 (20)
- socket 实现点对点发送消息
- P1273 有线电视网
- Hibernate一级缓存和二级缓存的区别