|
题目传送门
记忆化框架
- int dfs(int x){
- if (a[x] != 无效值) return a[x];
- if (x == 边界条件) return 边界值;
- return a[x] = 表达式;
- }
复制代码
这题的代码
- #include <iostream>
- using namespace std;
- int a[35] = {0,1,2};
- int find(int x){
- if (a[x] != 0) return a[x];
- return find(x - 1) + find(x - 2);
- }
- int main(){
- int x;
- while (cin >> x) cout << find(x) << '\n';
- return 0;
- }
复制代码
|
|