hdu 2046 骨牌铺方格 递推求解
骨牌铺方格
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61686 Accepted Submission(s): 29848
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
思路:
用a[i]表示2*i长方形的个数,已知a[1]=1;a[2]=2;
假设已经知道a[i-1],a[i-2],求a[i],要在(i-1)个骨牌后再放一个
骨牌在这一格上横着放和竖着放:
①如果前面i-1块已经铺好,则第i块只有一种铺法,就是竖着放;
②如果要横着放,也只有一种铺法,不过要求前面i-2块已经铺好!
因此 arr[i]=arr[i-1]+arr[i-2];
1.递归代码:超时
#include<bits/stdc++.h>
using namespace std;
__int64 fun(int n)
{if(n==1)return 1;if(n==2)return 2;return fun(n-1)+fun(n-2);
}
int main()
{ios::sync_with_stdio(0);int n;while(cin>>n){cout<<fun(n)<<endl;}return 0;
}
2.递推代码:AC
#include<bits/stdc++.h>
using namespace std;
const int MAX=55;
__int64 a[MAX];
void fun()
{a[1]=1;a[2]=2;for(int i=3;i<MAX;i++)a[i]=a[i-1]+a[i-2];
}
int main()
{ios::sync_with_stdio(0);int n;fun();while(cin>>n){cout<<a[n]<<endl;}return 0;
}
hdu 2046 骨牌铺方格 递推求解相关推荐
- HDU 2046 骨牌铺方格 递推
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU 2046 骨牌铺方格【递推】
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- hdu 2046 骨牌铺方格
http://acm.hdu.edu.cn/showproblem.php?pid=2046 这是一道递推题目,只要列举1到7就可以了,我们会发现:1-1,2-2,3-3,4-5,5-8,6-13,7 ...
- HDOJ 2046 骨牌铺方格 【递推】
HDOJ 2046 骨牌铺方格 [递推] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2046 铺2*1只有一种情况(一竖) 2*2有两种情况(两横或 ...
- HDU2046 骨牌铺方格【递推】
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 51Nod-1031 骨牌覆盖【递推】
1031 骨牌覆盖 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格. 问有多少种不同的排列方法. 例如:2 ...
- 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解
本题是2013年NOIP普及组的压轴题 差分约束裸题. 计算当前线路中最小的级别(比较始发站和终点站). 整条线路中所有大于这个级别的都必须停靠 所有未停靠的站点的级别一定小于这个级别 也就是说所有未 ...
- 整数划分问题【递归以及递推求解方式】
简述 用一系列正整数之和来表示一个整数,称之为整数划分.而整数划分问题则对于某个数字,输出对应整数划分的数量. 先写递归,有了递归之后,就换用递推来加快速度. 算法思路 q(n, m)表示,n这个整数 ...
- 骨牌铺方格java_[ACM_HDU_2046]骨牌铺方格 | 学步园
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
最新文章
- js实现模态框点击空白关闭
- 【mysql学习-2】
- linux怎么切换为oracle用户权限,linux肿么给oracle中用户权限
- 云湖共生-释放企业数据价值
- 马化腾又要发红包!648亿港元,最多腾讯2%股份,我酸了...
- Linux网络编程一步一步学-UDP方式点对点通讯
- Qt实践录:一些界面设计的记录示例
- Qt 中static_cast 和 reinterpret_cast的区别
- json对象与json字符串互转方法
- JS疑难点和GC原理
- GUI练习——列出指定目录内容
- MacOS Mojave 更换开机登录界面壁纸
- 【数据库】SQL语句大全
- 【算法专题】链表排序算法总结
- Splitter之带隔离电阻的功分器
- 安装TDM-GCC时一直报错,大佬求解
- 苹果系统怎样修改mac地址?
- vgg16构造模型图(转)
- Js的Mixin 模式
- 比较血饮、谷雨、龙牙的武器哪个好点
热门文章
- 服务器和客户端免密登录
- tomcat 6.0 部署报错信息
- PCA人脸识别的python实现
- Qt学习之路(1)------Qt常用类用法说明
- softmax函数_干货 | 浅谈 Softmax 函数
- python怎么修改while循环类型_python 的for与while 的i改变
- python mysql 分号_Python中使用MySQL
- java路线_2021年Java学习路线图—精心整理
- php mssql image,linux+php连接mssql
- alipay html5 app,H5App支付宝开发详解