http://acm.hdu.edu.cn/showproblem.php?pid=2044
分析:
从a到b的可能路线等价于1到b-a的可能路线。
1到N蜂房的路径算法公式是:
F(N) = F(N-1)+F(N-2)
F(1)=1 F(2)=1 F(3)=2
注意:c中int long float double的表示范围
代码如下:
#include <stdio.h>
int main()
{
int n,A,B,i;
double a[50];
a[0]=1;
a[1]=1;
for (i=2; i<50; i++) {
a[i]=a[i-1]+a[i-2];
}
scanf("%d",&n);
while (n--) {
scanf("%d %d",&A,&B);
printf("%.0f\n",a[B-A]);
}
return 0;
}
本文介绍了如何使用动态规划解决从a到b的蜂房路径计数问题,提供了详细的公式解释和代码实现。通过将问题转化为从1到N的路径计数,利用递推公式F(N)=F(N-1)+F(N-2)来求解,同时讨论了整型变量的表示范围问题。
1799

被折叠的 条评论
为什么被折叠?



