HDU2044 一只小蜜蜂...
问题链接:HDU2044 一只小蜜蜂...。基础训练题,用C语言编写程序。
问题简述:参见上述链接。
问题分析:这个问题非常类似于:HDU2041 超级楼梯,略微有些不同。
站在第n个蜂房想一下,前一步是从哪里来的,问题就清楚了。
看图可知,由于蜜蜂每次只能从前1个蜂房前2个蜂房过来,那么f(n)=f(n-2)+f(n-1)。这部就是一个菲波拉契数列吗?就是一个递推问题?
可是,开始时候,蜜蜂是在第1个蜂房,所以数列的开始几项会有所不同。
f(1)=0,因为蜜蜂开始在第1个蜂房;
f(2)=1,蜜蜂只能从第1个蜂房来到第2个蜂房;
f(3)=2,蜜蜂可以从第1个蜂房过来,也可以从第2个蜂房过来;
f(n)=f(n-2)+f(n-1),n>3。
有了以上的递推式,一切几乎就解决了。
还需要考虑的一点是,蜜蜂从a蜂房到b蜂房的各种可能路径,相当于从第1蜂房到第b-a+1蜂房。
另外一点是,还是先打表吧,以防万一。
程序说明:(略)。
AC的C语言程序如下:
/* HDU2044 一只小蜜蜂... */#include <stdio.h>#define MAXN 50typedef unsigned long long ULL;ULL fn[MAXN+1];void setfn()
{int i;fn[0] = 0;fn[1] = 0;fn[2] = 1;fn[3] = 2;for(i=4; i<=MAXN; i++)fn[i] = fn[i-2] + fn[i-1];
}int main(void)
{int n, a, b;// 先打表(以防万一测试集合大)setfn();scanf("%d", &n);while(n--) {// 读入a和bscanf("%d%d", &a, &b);// 输出结果printf("%lld\n", fn[b - a + 1]);}return 0;
}
转载于:https://www.cnblogs.com/tigerisland/p/7564645.html
HDU2044 一只小蜜蜂...相关推荐
- HDU2044 一只小蜜蜂...【递推】
一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- HDU2044 一只小蜜蜂…(简单递推)
一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- HDU2044一只小蜜蜂(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 这种题个人觉得就是找规律,把数据多列出来几个,你会发现得到的数列跟Fibonacci数列十分相像 ...
- 一只小蜜蜂... hdu2044
题源:一只小蜜蜂- hdu2044 题目: 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的 ...
- 2018暑假集训---递推递归----一只小蜜蜂hdu2044
一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- 函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
题目:一只小蜜蜂 递归做法: #include<cstdio> #include<iostream> #include<stdlib.h> #include< ...
- K - 一只小蜜蜂...
一只小蜜蜂- 题目描述 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Iutput 输入数据的第一行是一个整数N ...
- HDU - 2044一只小蜜蜂 一道递推题
一只小蜜蜂 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> ...
- HDUOJ 2044一只小蜜蜂...
HDUOJ 2044一只小蜜蜂... Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构 ...
- 一只小蜜蜂,一万天纪念日,杨辉三角,洗牌
一只小蜜蜂 #include<bits/stdc++.h> using namespace std; int main() {int a,b,x;long long n[50];n[0]= ...
最新文章
- 牛客华为机试第8题python
- filter java web_java web filter 之一 基础实现
- Android中调用另一个Activity并返回结果-以模拟选择头像功能为例
- 一些有意思的算法代码[转载]
- Lightbox JS v2.0
- sql 2008 使用output避免数据修改后的二次查询
- 怎样的中奖算法能让人信服
- 没有android:padding属性,android pading的四个值,为负值时,什么情况下,有效啊
- Struts2中的ModelDriven机制及其运用
- 回溯法解决八皇后问题
- Windows mobile美化之-短信界面美化修改~
- python3 shell脚本开发_python3 subprogress 模块的使用 代替shell编写脚本
- 文章翻译软件-批量免费翻译软件支持各大翻译接口
- 中华流传十大吉祥图解
- linux中wine文件夹在哪,linux下wine的使用
- windows连接虚拟专用网络的方法教程
- LaTeX 公式(转自)Iowa_Battleship 神犇
- Email - Boss's concerns
- 何恺明大神巨作:Faster R-CNN 论文笔记
- 为什么app会被常常攻击?如何预防攻击?