題意:有一只經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請編程計算蜜蜂從蜂房a爬到蜂房b的可能路線數。
思路:題目中沒有圖,去百度了下,然後簡單的寫了下前幾個數之間可能對應的路線數就找到了DP公式:a[i]=a[i-1]+a[i-2];
感想:有時候找到DP公式後題就很簡單了。
代碼:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int t,i;
long long a[51];
a[1]=1;
a[2]=2;
a[3]=3;
for(i=3;i<51;i++)
a[i]=a[i-1]+a[i-2];
scanf("%d",&t);
while(t--)
{
int m,n,i,j;
scanf("%d%d",&m,&n);
j=n-m;
printf("%I64d\n",a[j]);
}
return 0;
}