根本就不存在这样的题
2026-10-04 15:45:45
发布于:安徽
7阅读
0回复
0点赞
啊不不不不不,根本就不存在这样的题,一定是我看错了。
真是通透。
因为只能走到右上和右下,等价于从终点退回起点的每一步都只有左上和左下两种可能。
而我们发现,从二退回一只有一种可能。这代表着f(n-2),因为相当于退了两步。
两种路线之和即 f(n)=f(n-1)+f(n-2)。
同时还可以发现,从a走到b等价于从1走到b-a,即路线数=f(b-a)。
注意边缘条件:f(1)=1,f(2)=2。
#include<bits/stdc++.h>
using namespace std;
long long f[105]{0,1,2};
int main(){
int n,a,b;cin>>n;while(n--){
cin>>a>>b;int c=b-a;
for(int i=3;i<=c;i++){f[i]=f[i-1]+f[i-2];}
cout<<f[c]<<endl;
}
return 0;
}
这里空空如也







有帮助,赞一个