1031 骨牌覆盖

基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。

问有多少种不同的排列方法。
例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)
Input
输入N(N <= 1000)
Output
输出数量 Mod 10^9 + 7
Input示例
3
Output示例
3

问题链接:1031 骨牌覆盖

问题分析:本题与《HDU2046 骨牌铺方格【递推】》非常类似,可以参考。

这是一个典型的递推计算题。
f(0) = 0,没有地方摆骨牌,所以为0;
f(1) = 1,只能竖着摆放1个骨牌;
f(2) = 2,可以是横着摆放2个骨牌,或者竖着摆放2个骨牌;
f(n) = f(n-2) + f(n-1),n>2,可以在f(n-2)的基础上在右边再横着放2个骨牌(竖着放已经在f(n-1)中),也可以在f(n-1)的基础上在右边再竖着1个骨牌。

程序说明:编写一个函数fib()来封装计算功能是一种好的做法。

题记:(略)

参考链接:HDU2046 骨牌铺方格【递推】

AC的C++程序如下:

#include <iostream>using namespace std;const int MOD = 1E9+7;int fib(int n)
{if(n == 0)return 0;else if(n == 1)return 1;else if(n == 2)return 2;else {int f1 = 1;int f2 = 2;for(int i=3; i<=n; i++) {int temp = (f1 + f2) % MOD;f1 = f2;f2 = temp;}return f2;}
}int main()
{int n;cin >> n;cout << fib(n) << endl;return 0;
}

51Nod-1031 骨牌覆盖【递推】相关推荐

  1. 随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3

    先说说前面的SPOJ-RNG吧,题意就是给n个数,x1,x2,...,xn 每次可以生成[-x1,x1]范围的浮点数,把n次这种操作生成的数之和加起来,为s,求s在[A,B]内的概率 连续形的概率 假 ...

  2. hdu 2046 骨牌铺方格 递推求解

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

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

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

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

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

  5. 51nod 13831048 整数分解为2的幂 [递推]【数学】

    题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1048 ---------------------------- ...

  6. 51nod 1167 计算递推

    有这样一个递推式: F(N) = 1 (0 <= N <= K - 1) F(N) = F(N - K) + F(N / K) (N % K == 0) F(N) = F(N - 1) ( ...

  7. 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释

    题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...

  8. ACM训练赛--递推专题

    1001: Buy the Ticket Problem Description The "Harry Potter and the Goblet of Fire" will be ...

  9. 骨牌覆盖问题总结!hihoCoder/ NYOJ-1273宣传墙1151

    本想着做一下第九届河南省省赛题,结果被这个类似骨牌覆盖的题卡住了,队友然我去hihoCoder上老老实实把骨牌覆盖一.二.三做完,这题就没什么问题了.虽然很不情愿,但还是去见识了一下.  骨牌覆盖问题 ...

最新文章

  1. 2021年大数据HBase(十一):Apache Phoenix的视图操作
  2. C++中的引用(257BinaryTreePath)
  3. [BUUCTF-pwn]——judgement_mna_2016
  4. c语言1000内亲密对数,《C语言程序的设计上机指导》项目五函数及其应用.pptx
  5. <meta name=“robots“ content=“index,follow“>的解释
  6. 平舌音 Z C S 的正确发音方式
  7. Spring3系列12-Spring AOP AspectJ
  8. 用css3的@keyframes里设置transform:rotate(); 当控制动画暂停:animation-play-state:paused暂停,在微信和safari里无效...
  9. web前端基础(14html里面的事件)
  10. java 注册监听_java注册监听模型
  11. 计算机老年学校讲义,天津老年大学计算机类教学大纲
  12. 最全最新cpu显卡天梯图_2019.12月CPU和显卡性能天梯图
  13. lmi克罗内克积 matlab_行正交矩阵的分层克罗内克积扩大法
  14. python制作adobe photoshop插件_Python 图像处理这样学 小白也易懂,还能顺便学习 Photoshop...
  15. flutter框架中的dart语言+一个背单词app的实例
  16. 基于Bilibili热门视频Top100弹幕的数据爬取与分析(报告版)
  17. 中标麒麟V7系统开启日志服务器收集日志
  18. 数显之家快讯:【SHIO世硕心语】真正的高手,都有7个思维习惯
  19. 刻意练习+一万小时定律+异类
  20. 【团队介绍】小逗比们的介绍篇

热门文章

  1. 使用IntelliJ IDEA配置Erlang开发环境
  2. C#多线程学习(三) 生产者和消费者 1——解决线程间冲突的关键
  3. 安装Ubuntu下的开发工具
  4. 安装JDK失败,再次安装时出现已经安装过了的,解决办法
  5. Hadoop与Spark的集群复制
  6. Creating DataFrames spark当中重要的部分DataFrames
  7. 怎么把外部参照合并到图纸_怎么对两个图纸内容进行合并操作
  8. 肇庆市二技学校计算机电算化,肇庆市有那些技术学校
  9. Dell服务器串口开机协议,dell和ibm服务器串口重定向功能的配置.docx
  10. java 方法引用_JAVA 8 方法引用 - Method References