hdu 2044 一只小蜜蜂...

递推:f[i]=f[i-2]+f[i-1];

这个位置可以由左边位置过来也可以由左上位置过来

需要注意:利用等效可以把首位置移到0,末位置移到b-a+1

  题目传送门

 1 #include<stdio.h>
 2 __int64 f[50];
 3 int main()
 4 {
 5     int a,b,n,i;
 6     f[0]=1; 
 7     f[1]=1;
 8     f[2]=1;
 9     for(i=3;i<50;i++)
10         f[i]=f[i-2]+f[i-1];
11     scanf("%d",&n);
12     while(n--)
13     {
14         scanf("%d%d",&a,&b);
15         printf("%I64d\n",f[b-a+1]);
16     }
17     return 0;
18 }

 

posted @ 2013-05-10 09:53  飞向梦  阅读(142)  评论(0编辑  收藏  举报