UVa 11310
来源:互联网 发布:怎么查询电脑mac地址 编辑:程序博客网 时间:2024/06/15 03:19
题目:有两种瓷砖,1x1的方形以及2x2的L形,问铺满nx2的地面有多少种方法。
分析:数学题,动态规划(DP)。找到递推公式打表计算查询输出。
因为宽度为2,所以题目很简单不需要使用搜索+dp求解;
我们发现如果有L形的瓷砖,只能形成2x2(有4种可能)和2x3(有2种可能)的小块组合;
没有L形瓷砖直接在右侧加两块1x1的方形瓷砖即可;
所以可以找到递推公式:f(n)= f(n-1)+ 4 * f(n-2)+ 2 * f(n-3);
说明:(⊙v⊙)。
#include <stdio.h>#include <stdlib.h>long long f[45];int main(){f[0] = 1LL;f[1] = 1LL;f[2] = 5LL;for (int i = 3; i <= 40; ++ i) {f[i] = f[i-1] + 4*f[i-2] + 2*f[i-3];}int t, n;while (~scanf("%d",&t))while (t --) {scanf("%d",&n);printf("%lld\n",f[n]);}return 0;}
阅读全文
1 0
- UVa 11310
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- Codeforces 755 F. PolandBall and Gifts (简单贪心+二进制优化多重背包)
- PHPWAMP快速自定义Mysql历史版本,吸纳其他集成环境的Mysql数据库
- Android使用插件SimpleCropView
- 技术文章 | Hadoop常见错误和处理方式
- RecyclerView 显示不同结构数据
- UVa 11310
- POJ 2240 Arbitrage(最短路,floyd)
- Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解
- Kmean聚类分析
- UIImageView设置tintColor无效的解决方案
- 深层学习与浅层学习共同促进课堂学习
- Ubuntu gnome17.04美化及软件推荐
- JDK 环境配置
- SCons代码