蛙跳

来源:互联网 发布:数据挖掘兴起于哪一年 编辑:程序博客网 时间:2024/04/30 22:35

题目9:一只青蛙一次可以跳上一级台阶,也可以跳上两级。求该青蛙跳上一个n级台阶总共有多少种情况。


#include <iostream>using namespace std;//N 代表目标数字#define N 10class Solution{private:int * mNumArray = new int[N + 1];int mSteps[2];int mArrayIndex = 0;public:Solution(){memset(mNumArray, 0 , sizeof(int)*(N + 1));mSteps[0] = 1;mSteps[1] = 2;}//回溯法void Jump(int steps){if (steps == N){Print();return;}else if (steps > N)return;for (int i = 0; i < 2; ++i){mNumArray[mArrayIndex++] = mSteps[i];Jump(steps + mSteps[i]);mNumArray[--mArrayIndex] = 0;}}void Print(){for (int i = 0; i < mArrayIndex; ++i){cout <<mNumArray[i] << " ";}cout <<"\n\n"<< endl;}~Solution(){delete[] mNumArray;}};int main(){Solution solution;solution.Jump(0);return 0;}


0 0