1. 程式人生 > >hdu2041超級樓梯(DP)

hdu2041超級樓梯(DP)

stdio.h math while div code math.h color bsp 第一個

總是把DP和搜索搞混……很苦惱,有沒有什麽標誌性區別呀

這道題是個DP,當前臺階的走法=前一步的兩種走法之和(前一步上一個臺階/上兩個臺階);(他可以走一步到這,也可以走兩步到這)

最初站在第一個臺階上。

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<algorithm>
 5 #include<math.h>
 6 using namespace std;
 7 
 8 int main()
 9 {
10     int n,m,a[40
]; 11 while(cin>>m) 12 { 13 while(m--) 14 { 15 cin>>n; 16 a[1]=0;a[2]=1;a[3]=2; 17 for(int i = 4; i <= n; i++) 18 { 19 a[i] = a[i-1] + a[i-2]; 20 } 21 cout<<a[n]<<endl;
22 } 23 } 24 return 0; 25 }

hdu2041超級樓梯(DP)