题目描述

小乐乐想要给自己搭建一个积木城堡。

积木城堡我们假设为n*m的平面矩形。

小乐乐现在手里有12,21两种地砖。

小乐乐想知道自己有多少种组合方案。

输入描述:

第一行输入整数n,m。(1<=n,m<=10)

输出描述:

输出组合方案数。

示例1

输入

2 3

输出

3

示例2

输入

1 3

输出

0

示例3

输入

2 5

输出

8

思路:

​ 状压dp的入门题,把每一行的状态压缩成一个二进制数(竖为1横为0),然后转化为十进制。依次遍历第一行的所有状态方案数都初始化为1,然后依据dp递推式推出其余行。最后累加最后一行的所有可行性方案的和即可。

代码:

#include<cstdio>
#include<cstring>
#define ll long long
#define Maxn 2048
using namespace std;
int chg[Maxn*Maxn][2];
ll dp[1<<13][13];
int n,m,tot;void dfs(int c,int s,int scur){if(c>m) return;if(c==m){chg[tot][0]=s;chg[tot++][1]=scur;return;}dfs(c+1,s<<1,scur<<1|1);dfs(c+1,s<<1|1,scur<<1);dfs(c+2,s<<2|3,scur<<2|3);
}int main()
{scanf("%d%d", &n, &m);if(m>n) {int kk = m;m = n;n = kk;}tot=0;dfs(0,0,0);memset(dp,0,sizeof dp);dp[(1<<m)-1][0]=1;for(int i=1;i<=n;i++){for(int j=0;j<tot;j++)dp[chg[j][1]][i]+=dp[chg[j][0]][i-1];}printf("%lld\n",dp[(1<<m)-1][n]);return 0;
}

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢

哈理工院赛-小乐乐搭积木相关推荐

  1. 【牛客 - 301哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)】小乐乐搭积木(状压dp)

    题干: 小乐乐想要给自己搭建一个积木城堡. 积木城堡我们假设为n*m的平面矩形. 小乐乐现在手里有1*2,2*1两种地砖. 小乐乐想知道自己有多少种组合方案. 输入描述: 第一行输入整数n,m.(1& ...

  2. 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛 小乐乐的组合数+

    链接:https://ac.nowcoder.com/acm/contest/301/A 来源:牛客网 题目描述 小乐乐得知一周有7天之后就对7产生了兴趣. 小乐乐得到了两堆数字数字时连续的. 第一堆 ...

  3. 哈理工院赛练习题 小瑞-开心消消乐 II

    Problem F: 小瑞-开心消消乐 II Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 15  Solved: 4 [ Submit][ Stat ...

  4. 哈理工院赛训练题目 Kid-排列

    Problem N: Kid-排列 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 37  Solved: 9 [ Submit][ Status][ ...

  5. 2018哈理工院个人赛、校团队赛总结

    ​ 院个人赛拿了亚军,校团队赛185支队伍拿了第五名.还算满意,今天打算总结总结- ​ 哈理工院个人赛12月2号举行,10道题4个小时.题目比较简单- ​ 两道水题 跳转到小乐乐玩木桶 和 跳转到小乐 ...

  6. 小乐乐与二段数(2019哈理工新生赛第20题)

    链接:2019哈理工新生赛题解 2019哈理工新生赛第20题 T题: 链接:https://ac.nowcoder.com/acm/contest/1877/T 来源:牛客网 题目描述 小乐乐从老师口 ...

  7. 哈理工软微2019新生赛(同步赛)——小乐乐与二段数【数论】

    题目传送门 题目描述 小乐乐从老师口中听到了二段数这个名词,想更深入的了解二段数. 二段数是这样的正整数:恰好包含两种不同的十进制数字s和t,s不是0,并且s的所有出现均排列在所有的t的前面.例如,4 ...

  8. 竞赛无人机搭积木式编程——以2022年TI电赛送货无人机一等奖复现为例学习(7月B题)

    在学习本教程前,请确保已经学习了前4讲中无人机相关坐标系知识.基础飞行控制函数.激光雷达SLAM定位条件下的室内定点控制.自动飞行支持函数.导航控制函数等入门阶段的先导教程. 同时用户在做二次开发自定 ...

  9. 5_竞赛无人机搭积木式编程——以2021年电赛G题植保无人机国奖标准完整复现为例学习

    竞赛无人机搭积木式编程 --以2021年电赛G题植保无人机国奖标准完整复现为例学习 首先我们需要了解下自动飞行任务执行过程几组关键变量的用法与实际作用效果: flight_subtask_cnt用于控 ...

最新文章

  1. boost::tokenizer模块相关的测试程序
  2. 阿里搜索技术,在AI路上走了多远?
  3. SpringFox swagger2 and SpringFox swagger2 UI 接口文档生成与查看
  4. Axure原型设计导出到PDF文件
  5. 远程ykvm 插件移值java_Centos7 命令行下kvm安装windows,linux
  6. Oracle 11g 新特性 -- Invisible Indexes(不可见的索引) 说明
  7. R语言数组array函数
  8. Nandflash 驱动深度分析(基于S3C2410)
  9. 在固态硬盘上安装win7后没有声音
  10. (五)2005年我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训
  11. 打印机服务器状态未知怎么办,打印机状态信息不可用是怎么回事
  12. 任务管理器已被管理员停用 解决方法
  13. Harmonious Graph(并查集)
  14. 三分之一的程序猿之创业组队与打怪升级
  15. CCF-20170902-公共钥匙盒(30分)
  16. 软件测试用例朋友圈发表功能,微信朋友圈点赞测试用例分享
  17. 关于龙勃透镜天线,看这一篇就够了!
  18. 快速编写数据库设计说明书的办法
  19. McAfee:黑客借"极光漏洞"获取企业源代码
  20. 什么是可重入锁?为什么需要可重入锁?

热门文章

  1. 自我实现tcmalloc的项目简化版本
  2. 以亲身经历解读经典的定律或法则
  3. Python 自动化提取基因的 CDS
  4. ILOG Gantt 3.0 注册机
  5. 关于SVM一篇比较全介绍的博文
  6. 记录一次Anaconda安装Spyder失败及解决方法
  7. JAVA-----乱码的处理 乱码的解决方法总结
  8. LR的日志,使用以及方法
  9. EM与PX的对应关系
  10. 上dj是什么意思_这个世界上根本没有迪迦奥特曼什么梗?抖音迪迦奥特曼的梗什么意思...