到达第n个格子的方案数等于第n-1个格子的方案数加上第n-2个格子的方案数。
d[i]=d[i-1]+d[i-2];
AC代码:
#include<cstdio>
const int maxn=55;
long long d[maxn];
int main(){
int T,a,b;
scanf("%d",&T);
while(T--){
scanf("%d%d",&a,&b);
d[a]=1;
d[a-1]=0;
for(int i=a+1;i<=b;++i){
d[i]=d[i-1]+d[i-2];
}
printf("%lld\n",d[b]);
}
return 0;
}
如有不当之处欢迎指出!