hdu 2044 一只小蜜蜂... dp

xiaoxiao2021-02-28  138

思路:由图可知,用d[I]带表两个点相距为I的方法总数,在n可以走到n+1,n+2两个格子。反过来,在n可以由n-1,和n-2走一步过来。所以f[n]=f[n-1]+f[n-2].

#include<cstdio> #define ll long long ll d[52]; int main() { d[1]=1;//相距为1 1种方法 d[2]=2;//相距为2 2种方法 for(int i=3;i<=52;i++) d[i]=d[i-1]+d[i-2]; int T; scanf("%d",&T); while(T--) { int a,b; scanf("%d%d",&a,&b); int dis=b-a; printf("%lld\n",d[dis]); } }

转载请注明原文地址: https://www.6miu.com/read-25391.html

最新回复(0)