HDU 2041 超級樓梯 (斐波那契數列 & 簡單DP)

原題鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2041

題目分析:題目是真的水,不難發現規律涉及斐波那契數列,就直接上代碼吧。


代碼如下:

#include <iostream>
#include <cstring>
using namespace std;

int t, n, num[40];

int dp(int n) {
	if (n == 1 || n == 2) return num[n] = n;
	if (num[n] != -1) return num[n];
	return num[n] = dp(n-1) + dp(n - 2);
}
int main() {
	cin >> t;
	while (t--) {
		memset(num, -1, sizeof(num));
		cin >> n;
		cout << dp(n - 1) << endl;
	}
	return 0;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章