ACM第三次練習—1011

題意:有一只經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請編程計算蜜蜂從蜂房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
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章