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;
} 

猜你喜欢

转载自blog.csdn.net/laugh12321/article/details/81488910