URL:https://vjudge.net/problem/HDU-2041
简单DP,因为每次只能走1或者2阶,所以当走到第i阶的时候(i>=4),那么它的前一种状态只可能是i-1和i-2,所以状态方程为:
DP[2] = 1;
DP[3] = 2;
DP[i] = DP[i-1] + DP[i-2];(i>3)
AC code :
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int a;
int DP[];
DP[] = ;
DP[] = ;
for(int i = ;i < ;i++)
{
DP[i] = DP[i-] + DP[i-];
}
cin >> n;
for(int i = ;i <= n;i++)
{
cin>>a;
cout<<DP[a]<<endl;
}
return ;
}