首页 > ACM题库 > HDU-杭电 > hdu 2044 一只小蜜蜂…-递推-[解题报告]C++
2013
12-26

hdu 2044 一只小蜜蜂…-递推-[解题报告]C++

一只小蜜蜂…

问题描述 :

有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。

输入:

输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。

输出:

输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。

样例输入:

2
1 2
3 6

样例输出:

1
3

题目分析:f[60],f[a]=0,f[a+1]=1,f[a+2]=2,……..f[i]=f[i-1]+f[i-2];


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	__int64  f[60];
	int a,b,c;
	scanf("%d",&c);
	while(c--)
	{
		scanf("%d %d",&a,&b);
		f[a]=0;
		f[a+1]=1;
		f[a+2]=2;
		if(b-a==1)
			printf("1\n");
		else
		{
		   for(int i=a+3;i<=b;i++)
			   f[i]=f[i-1]+f[i-2];
		   printf("%I64d\n",f[b]);
		}
	}
	system("pause");
	return 0;
}


解题转自:http://blog.csdn.net/wconvey/article/details/7536957


  1. [email protected]