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