http://oj.leetcode.com/problems/climbing-stairs/
class Solution {
public:
int dp[10000];
int DP(int n){
if(dp[n]<0) dp[n]=DP(n-1)+DP(n-2);
return dp[n];
}
int climbStairs(int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
memset(dp,-1,sizeof(dp));
dp[0]=1;
return DP(n);
}
};