爬樓梯(DP)
阿新 • • 發佈:2018-12-23
爬樓梯
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 261 Solved: 137
[Submit][Status][Web Board]
Description
小時候我們都玩過爬樓梯的遊戲:兩人猜拳,贏了可向上爬一級,誰先到最高階則獲勝。作為大學生,我們應該玩一個更有水平的遊戲。
現在一個人要上n級樓梯,每一步可以選擇上一級或者上兩級,但是不能後退。求上這n級樓梯的方案數。
Input
第一行只有一個整數T(1<=T<=45),表示資料組數。
下面的T行每一行有一個整數n(1<=n<=45),表示有多少級樓梯。
Output
對於每一組資料輸出一個整數s,表示方案數。
Sample Input
4
1
2
3
4
Sample Output
1
2
3
5
程式碼:
#include<cstdio> using namespace std; int dp[50]; int main() { dp[1]=1; dp[2]=2; for(int i=3;i<=46;i++) dp[i]=dp[i-1]+dp[i-2]; int t; scanf("%d",&t); int n; while(t--) { scanf("%d",&n); printf("%d\n",dp[n]); } return 0; }