一只小蜜蜂...
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 38202 Accepted Submission(s): 14102
其中,蜂房的结构如下所示。
2 1 2 3 6
1 3
解题思路:模拟一下路线:如果小蜜蜂从1 到 2,只有12 一条路线。
如果小蜜蜂从1 到 3,可以有12 123两条路线。
如果小蜜蜂从1 到 4,可以有123 134 1234三条路线。
如果小蜜蜂从1 到 5,可以有135 1235 1245 1345 12345五条路线。
要想到达5,先要达到3或4,达到3的路线为2条,到达4的路线为3条。
设总路线为f(n), f(n) = f(n-1) + f(n-2)。
由以上可以看出,路线为斐波那契数列。即递推关系为 f(n)=f(n-1)+f(n-2)
#include<stdio.h>
__int64 s[55]={0,1,2};
void f()
{
int i;
for(i=3;i<55;i++)
s[i]=s[i-1]+s[i-2];
}
int main()
{
f();
int n,a,b;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
printf("%I64d\n",s[b-a]);
}
return 0;
}