第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;    
}

  

posted @ 2020-11-17 17:56  荣荣荣荣荣荣  阅读(63)  评论(0)    收藏  举报