骨牌铺方格

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61686    Accepted Submission(s): 29848

Problem Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
Sample Input
1 3 2
Sample Output
1 3 2
Author
lcy
Source
递推求解专题练习(For Beginner)

思路:

用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 骨牌铺方格 递推求解相关推荐

  1. HDU 2046 骨牌铺方格 递推

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. HDU 2046 骨牌铺方格【递推】

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  3. 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 ...

  4. HDOJ 2046 骨牌铺方格 【递推】

    HDOJ 2046 骨牌铺方格 [递推] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2046 铺2*1只有一种情况(一竖) 2*2有两种情况(两横或 ...

  5. HDU2046 骨牌铺方格【递推】

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  6. 51Nod-1031 骨牌覆盖【递推】

    1031 骨牌覆盖 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格. 问有多少种不同的排列方法. 例如:2 ...

  7. 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解

    本题是2013年NOIP普及组的压轴题 差分约束裸题. 计算当前线路中最小的级别(比较始发站和终点站). 整条线路中所有大于这个级别的都必须停靠 所有未停靠的站点的级别一定小于这个级别 也就是说所有未 ...

  8. 整数划分问题【递归以及递推求解方式】

    简述 用一系列正整数之和来表示一个整数,称之为整数划分.而整数划分问题则对于某个数字,输出对应整数划分的数量. 先写递归,有了递归之后,就换用递推来加快速度. 算法思路 q(n, m)表示,n这个整数 ...

  9. 骨牌铺方格java_[ACM_HDU_2046]骨牌铺方格 | 学步园

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

最新文章

  1. js实现模态框点击空白关闭
  2. 【mysql学习-2】
  3. linux怎么切换为oracle用户权限,linux肿么给oracle中用户权限
  4. 云湖共生-释放企业数据价值
  5. 马化腾又要发红包!648亿港元,最多腾讯2%股份,我酸了...
  6. Linux网络编程一步一步学-UDP方式点对点通讯
  7. Qt实践录:一些界面设计的记录示例
  8. Qt 中static_cast 和 reinterpret_cast的区别
  9. json对象与json字符串互转方法
  10. JS疑难点和GC原理
  11. GUI练习——列出指定目录内容
  12. MacOS Mojave 更换开机登录界面壁纸
  13. 【数据库】SQL语句大全
  14. 【算法专题】链表排序算法总结
  15. Splitter之带隔离电阻的功分器
  16. 安装TDM-GCC时一直报错,大佬求解
  17. 苹果系统怎样修改mac地址?
  18. vgg16构造模型图(转)
  19. Js的Mixin 模式
  20. 比较血饮、谷雨、龙牙的武器哪个好点

热门文章

  1. 服务器和客户端免密登录
  2. tomcat 6.0 部署报错信息
  3. PCA人脸识别的python实现
  4. Qt学习之路(1)------Qt常用类用法说明
  5. softmax函数_干货 | 浅谈 Softmax 函数
  6. python怎么修改while循环类型_python 的for与while 的i改变
  7. python mysql 分号_Python中使用MySQL
  8. java路线_2021年Java学习路线图—精心整理
  9. php mssql image,linux+php连接mssql
  10. alipay html5 app,H5App支付宝开发详解