17级台阶.cpp
来自「C++源代码集」· C++ 代码 · 共 41 行
CPP
41 行
#include <iostream>
#include <list>
using namespace std;
int nWays = 0;
void Walk(int stepsLeft, int stepsGo, list<int> steplist)
{
if(stepsLeft == stepsGo)
{
steplist.push_back(stepsGo);
nWays++;
cout <<"Solution "<<nWays<<" : ";
list<int>::const_iterator lstIter;
for(lstIter = steplist.begin(); lstIter != steplist.end(); lstIter++)
{
cout <<*lstIter<<" ";
}
cout <<endl;
}
else if(stepsLeft > stepsGo)
{
steplist.push_back(stepsGo);
for(int i = 1; i<=3; i++)
{
Walk(stepsLeft-stepsGo, i, steplist);
}
}
}
void main()
{
int i;
list<int> lstSteps;
for(i=1; i<=3; i++)
{
//lstSteps.pushback(i);
Walk(17, i, lstSteps);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?