题解 | N阶楼梯上楼问题
#include <bits/stdc++.h>
using namespace std;
const int N=100;
int a[N];
int main(){
int n;
memset(a,0,sizeof(a));
while(cin>>n){
a[1]=1;
a[2]=2;
for(int i=3;i<=n;i++){
if(i>n)break;
a[i]=a[i-1]+a[i-2];
}
cout<<a[n]<<endl;
}
}
动态规划问题,思路上和搜索和递归其实是一样的,本质上是一种暴力的搜索,搜索的 状态函数是a[i]=a[i-1]+a[i-2],就是根据前面的结果得到新的结果,就得到了上述代码,然后这题可以优化空间为o1#大学最后一个寒假,我想……#
