博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU2046 骨牌铺方格【递推】
阅读量:6975 次
发布时间:2019-06-27

本文共 651 字,大约阅读时间需要 2 分钟。

问题链接:。

问题简述:参见上述链接。

问题分析这是一个典型的递推计算题。

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个骨牌。

程序说明:(略)。

AC的C语言程序如下:

/* HDU2046 骨牌铺方格 */#include 
#define MAXN 50typedef unsigned long long ULL;ULL fn[MAXN+1];void setfn(){ int i; fn[0] = 0; fn[1] = 1; fn[2] = 2; for(i=3; i<=MAXN; i++) fn[i] = fn[i-2] + fn[i-1];}int main(void){ int n; // 先打表(以防万一测试集合大) setfn(); while(scanf("%d", &n) != EOF) printf("%lld\n", fn[n]); return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564643.html

你可能感兴趣的文章
斐波那契数列
查看>>
如何在android程序中使用百度api接口:
查看>>
一位10年Java工作经验的架构师聊Java和工作经验
查看>>
英文词频统计预备,组合数据类型练习
查看>>
完成个人中心—导航标签
查看>>
UVA10603 Fill
查看>>
POJ NOI MATH-7652 乘积最大的拆分
查看>>
汉若塔问题算法程序
查看>>
解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题
查看>>
ReOut
查看>>
如何使用SecureCRT连接vmware下ubuntu
查看>>
从源代码制作iDempiere Server安装软件(Ubuntu Desktop 12.04 LTS 64位)
查看>>
jQuery必知必熟基础知识
查看>>
本原串
查看>>
Android ble 蓝牙4.0 总结一
查看>>
三大方案解决了Intellij IDEA 2017/2018.1.5 输入法 不跟随
查看>>
WebApi系列~StringContent与FormUrlEncodedContent
查看>>
Lind.DDD.SSO单点登陆组件的使用(原创)
查看>>
图的创建——邻接表法
查看>>
OJ错误命令解释
查看>>