Mondriaan's Dream POJ - 2411

可以用状压dp,但是要打一下表。暴力枚举行、这一行的状态、上一行的状态,判断如果上一行的状态能转移到这一行的状态就转移。

状态定义:ans[i][S]表示i行前已经全部填满,i行已经填上的列为集合S。如果有竖着的,全部当做用这一行的去补满上一行缺的。

(貌似还是插头dp的入门题)

 #include<cstdio>
#include<cstring>
typedef long long LL;
LL f[][];
LL h,w;
/*LL ans[12][2050];
LL h,w;
bool judge(LL a,LL b)
{
LL i,num=0,t1,t2;
for(i=1;i<=w;i++)
{
t1=a&1;
t2=b&1;
a>>=1;
b>>=1;
if(t1==1&&t2==1)
num++;
else if(t1==0&&t2==0)
return false;
else
{
if(num&1)
return false;
num=0;
}
}
if(num&1)
return false;
else
return true;
}
LL get(LL h,LL w)
{
LL i,j,k;
memset(ans,0,sizeof(ans));
ans[0][(1<<w)-1]=1;
for(i=1;i<=h;i++)
for(j=0;j<(1<<w);j++)
for(k=0;k<(1<<w);k++)
if(judge(k,j))
{
ans[i][j]+=ans[i-1][k];
}
return ans[h][(1<<w)-1];
}
int main()
{
for(h=1;h<=11;h++)
for(w=1;w<=11;w++)
printf("f[%lld][%lld]=%lld;\n",h,w,get(h,w));
return 0;
}*/
int main()
{
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
f[][]=;
scanf("%lld%lld",&h,&w);
while(h!=&&w!=)
{
printf("%lld\n",f[h][w]);
scanf("%lld%lld",&h,&w);
}
}

最新文章

  1. 微信扫码i支付~官方DEMO的坑
  2. 深入理解CSS盒子模型
  3. 大熊君学习html5系列之------requestAnimationFrame(实现动画的另一种方案)
  4. 引入HBase依赖包带来的麻烦
  5. 23Spring_JdbcTemplate来实现单表的增删改查
  6. Java集合类之栈Stack
  7. RestKit:iOS开发必备,告别众多无聊代码
  8. OOX 面向对象X
  9. PHP面向对象 ——多态
  10. String,StringBuffer,StringBuilder的区别及其源码分析
  11. Salesforce Lightning开发学习(二)Component组件开发实践
  12. Self Host 使用 Exceptionless 实时监控程序运行日志服务
  13. linux expect 即exp脚本交互功能【原】
  14. SpringBoot入门教程(一)详解intellij idea搭建SpringBoot
  15. REST构架风格介绍之一:状态表述转移
  16. mysql索引学习
  17. ES6 HttpApplication Middleware
  18. Windows系统中Xshell与Linux连接时遇到的问题
  19. Qt creator 使用qwt
  20. 为什么vue+webpack需要用到node,如何部署项目到服务器?

热门文章

  1. [教程]Delphi 中三种回调函数形式解析
  2. LightRoom操作快捷键
  3. Office文档如何转换 PDF 转 DOC XLS
  4. vs2010下配置CUDA出现kernel launch failed问题,内核无效
  5. 浅谈asp.net通过本机cookie仿百度(google)实现搜索input框自己主动弹出搜索提示
  6. Linux下通过find命令进行rm文件删除的小技巧
  7. 如何用css给博客换一个好看的样式
  8. 2016/4/1 jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色
  9. C项目实践--图书管理系统(1)
  10. envoy