hdu 2044:小さなミツバチ...(水題、フィボナッチ数列)

5125 ワード

     ... Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30097    Accepted Submission(s): 11106 Problem Description                      ,      。          a    b      。   ,         。 Input              N,         ,   N    ,        a b(0<a<b<50)。 Output         ,        a    b      ,          。 Sample Input 2

1 2

3 6 Sample Output 1

3 Author lcy Source         (For Beginner) Recommend lcy

 
 
水問題、再帰.
数組のデータを計算すると,結果はミツバチの開始点とは無関係であり,登った格子数に関係し,経路数は格子数でフィボナッチ数列に並んでいることが分かった.
a[1]=1,a[2]=2~48はフィボナッチ数列を構築する.
また、後でデータ規模が整数(int)の範囲を超えることに注意して、long longタイプストレージを使用します(32ビットマシンではintタイプとlongタイプは通常バイトが同じで、long longは64ビットです).
code:
 1 Problem : 2044 (      ... ) Judge Status : Accepted  2 RunId : 8926523    Language : G++ Author : freecode  3 Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta  4 

 5 #include <iostream>

 6 using namespace std;  7 

 8 // 9 //            10 //              48, 48       int     ,    64     long long    

11 

12 int main() 13 { 14     long long z[49]; 15     z[1]=1;z[2]=2; 16     for(int i=3;i<=48;i++) 17         z[i]=z[i-2]+z[i-1]; 18     int N,a,b; 19     cin>>N; 20     while(N--){ 21         cin>>a>>b; 22         cout<<z[b-a]<<endl; 23  } 24     return 0; 25 }

 
Freecode : www.cnblogs.com/yym2013