跳台阶

#include <iostream>
using namespace std;

int p[222];
int n;

void dfs(int n, int lev)
{
	if(n < 0)
		return;
	if(n == 0)
	{
		for(int i = 0; i < lev; ++i)
			cout << p[i] << " ";
		cout << endl;
		return;
	}
	else
	{
		p[lev] = 1;
		dfs(n-1, lev + 1);
		p[lev] = 2;
		dfs(n-2, lev + 1);
	}
}

int main(void)
{
	n = 5;
	dfs(n, 0);
	
	return 0;
}

你可能感兴趣的:(跳台阶)