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