传送门:HDU - 2044 题意: 蜜蜂只能从左向右走,不能返回 思路:递推公式dp[i] = dp[i-2]+dp[i-1],i代表两蜂房之间的距离,即从序号为1的蜂房到序号为i+1的蜂房的线路数,只能由左边相邻的两个格子到达,把前面两个格子线路数相加就行了,这样一来,dp[b-a]就是答案了 AC代码:
int main(){
LL dp[
51];
int a, b, n;
scanf(
"%d", &n);
dp[
1] =
1;
dp[
2] =
2;
for (
int i=
3; i<=
50; ++i ){
dp[i] = dp[i-
2]+dp[i-
1];
}
while ( n-- ){
scanf(
"%d%d", &a, &b);
printf(
"%lld\n", dp[b-a]);
}
return 0;
}