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; }