第39阶 台阶
第39阶 台阶
#include <stdio.h>
#define m 5//台阶数作为树层数
int count=0;//方案数
int foot=0;//步数
void dfs(int t)
{
if(t==m){
if(foot%2==0){//走到最后,必须偶数步
count++;
printf("%d ",count);
}
return;
}
else
{
//一步走一个台阶
foot++;
printf("a ");
dfs(t+1);//继续走
printf("b ");
foot--;//退回来
//当然,小于等于37时,还可以一步走两个台阶
if(t<=m-2)
{
foot++;
printf("c ");
dfs(t+2);
printf("d ");
foot--;//退回来
}
}
}
int main(){
dfs(0);
printf("%d",count);
return 0;
}

浙公网安备 33010602011771号