题意:
如题
思路:
仔细观察图
1-4和3-6其实是一样的答案,那么所有的方案都可以相减,意思为全部转化为从1开始
剩下的就是观察规律,仔细观察5号,能到5号蜂房的只有3和4,3和4到5号蜂房只有一种方法,那么到5号蜂房的方法就是到3号和4号的和
一次类推
这是一个斐波那契数列,注意如果是int类型会爆。。。
代码:
#include<iostream>
using namespace std;
typedef long long ll;
const int maxn = 60;
ll arr[maxn];
void init() {
arr[1] = 1;
arr[2] = 2;
arr[3] = 3;
for(int i = 4; i < maxn; i++) {
arr[i] = arr[i-1] + arr[i-2];
}
}
int main () {
init();
int t, a, b;
scanf("%d", &t);
while(t--) {
scanf("%d %d", &a, &b);
printf("%lld
", arr[b-a]);
}
return 0;
}