一道状态压缩的题,错了好多次....应该先把满足的情况预处理出来

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int fitnum,n,m;
int maps[],state[<<];
int dp[][<<];
#define mod 1000000000
int main()
{
while(~scanf("%d%d",&n,&m))
{
memset(maps,,sizeof(maps));
fitnum = ;
for(int i = ;i <= n;i++)
{
for(int j = ;j <= m;j++)
{
int s;
scanf("%d",&s);
if(!s)
maps[i] += <<(m-j);
}
}
memset(dp,,sizeof(dp));
memset(state,,sizeof(state));
for(int i = ;i < (<<m);i++)
{
if((i&(i<<)) == )
state[fitnum++] = i;
}
for(int i = ;i < fitnum;i++)
{
if(!(state[i] & maps[]))
dp[][i] = ;
}
for(int i = ;i <= n;i++)
{
for(int k = ;k < fitnum;k++)
{
if(state[k] & maps[i]) continue;
for(int j = ;j < fitnum;j++)
{
if(state[j] & maps[i-]) continue;
if(state[j] & state[k]) continue;
dp[i][k] = (dp[i][k]%mod + dp[i-][j]%mod)%mod;
}
}
}
int ans = ;
for(int i = ;i < fitnum;i++)
{
ans = (ans%mod + dp[n][i]%mod) % mod;
}
printf("%d\n",ans);
}
return ;
}

最新文章

  1. load和initialize方法
  2. Winform(C#.NET)自动更新组件的使用及部分功能实现
  3. java的重载、覆盖和隐藏的区别
  4. Android 计算器界面
  5. FPGA位宽的转换和定义
  6. Oracle RAC集群安装之:Grid软件安装过程蓝屏
  7. HDU 4022 Bombing STL 模拟题
  8. List environment variables from Command Prompt
  9. KMP算法之查找模式串在源串中出现的次数
  10. vue渲染数据后与owlCarousel轮播插件冲突,失效
  11. Android开发之漫漫长途 XIV——ListView
  12. codeM美团编程大赛初赛B轮E题
  13. [SCOI2016]幸运数字
  14. Andriod Studio科普篇——4.关于编译的常见问题
  15. 关键字new与malloc函数
  16. LodopJS代码模版的加载和赋值
  17. [转]腾讯研发类笔试面试试题(C++方向)
  18. [EXP]phpBB 3.2.3 - Remote Code Execution
  19. POJ 2409 Let it Bead【Polya定理】(模板题)
  20. python学习之----导航树

热门文章

  1. Java线程:新特征-有返回值的线程
  2. Java静态语句块、语句块、构造方法执行顺序
  3. jquery:赋值
  4. 新手安装Oracle后的一些问题
  5. zk reconnect
  6. 8.1 sikuli报错: 提示没有对应的javaw
  7. C#生成DLL文件
  8. JPA 系列教程4-单向一对多
  9. js 获取当前点击的标签
  10. ajax遇到的问题