蓝桥杯省赛 第39级台阶

来源:互联网 发布:ubuntu 16.04 jdk1.6 编辑:程序博客网 时间:2024/05/16 01:53

  题目标题: 第39级台阶     小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 

         站在台阶前,他突然又想着一个问题: 

         如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈

         右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 

         请你利用计算机的优势,帮助小明寻找答案。  

         要求提交的是一个整数。 

         注意:不要提交解答过程,或其它的辅助说明文字。 

 快速解题思路:给我第一眼感觉就是DFS 深度优先遍历每一种情况 符合step==39并且走的步数为偶数时就number++;return;

代码如下

#include<stdio.h>void dfs(int step,int count);const int s=39;int number=0;int main(){    dfs(0,0);    printf("%d\n",number);    return 0;}void dfs(int step,int count){    if(step==39&&count%2==0)    {        number++;        return;    }    if(step>39)return;    dfs(step+1,count+1);    dfs(step+2,count+1);    return;}


答案:511670078

0 0
原创粉丝点击