链接:Problem - 2044 (hdu.edu.cn)
本题采用递归的形式,因为最多只用50个蜂房,所以我们可以把从第一个到第i个的路径数都记录下来例如从1到4的路径数就是从1到3和从1到2的路径和
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n= scan.nextInt();
for(int i=0;i<n;i++){
int a=scan.nextInt();
int b=scan.nextInt();
long count[]=new long[55];//用int的话会溢出报错
count[2]=1;
count[3]=2;
for(int j=4;j<=50;j++){
count[j]=count[j-1]+count[j-2];
}
System.out.println(count[b-a+1]);
}
}
}
关于b-a+1的解释:假设t=b-a+1,count[t]的结果就是从第1个蜂房到到第t个蜂房的路径总数