第四届蓝桥杯省赛C++B组 第39级台阶

题目标题:第39级台阶

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

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

如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?

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

要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。

 

答案:51167078

思路:明显是dfs。

代码:

#include <stdio.h>
int ans=0;
void dfs(int step,int foot)  //0为右脚,1为左脚
{
	if(step==39)
	{
		if(foot==0)
			ans++;
		return;
	}
	if(step>39)
		return;
	dfs(step+1,!foot);
	dfs(step+2,!foot);
}
int main()
{
	dfs(0,0);
	printf("%d\n",ans);
	return 0;
}

 

### 第十四届蓝桥杯 C++ B详情 #### 比题目概述 第十四届蓝桥杯C++ B的题目涵盖了多个算法和数据结构的知识点。这些题目旨在考察选手的基础编程能力以及解决实际问题的能力[^2]。 #### 题目难度分析 对于部分题目,可以采用较为简单的解法来获取一定分数。例如,在处理某些特定类型的字符串匹配问题时,虽然最直观的方法是使用双重`for`循环遍历所有可能的子串合,但这会导致时间复杂度过高而无法在规定时间内完成计算(即TLE, Time Limit Exceeded)。然而,在竞环境中,这种方法仍然可以帮助参者获得一些测试用例的部分得分[^4]。 #### 参规则要点 为了确保公平竞争并促进学习交流,比期间允许使用计算器辅助运算工具。这一设置体现了主办方希望降低不必要的手工计算负担,使参与者能够更专注于逻辑思考与编码实现上[^3]。 #### 成绩查询方式 关于具体的成绩公布时间和途径,请关注官方渠道发布的最新通知。通常情况下,成绩会在后一段时间内由委会统一发布,并可通过指定网站或平台进行查询。 ```python # 示例:如何在线提交代码至评测系统(假设) import requests def submit_code(problem_id, code): url = "https://example.com/submit" payload = { &#39;problemId&#39;: problem_id, &#39;code&#39;: code } response = requests.post(url, data=payload) return response.json() # 使用示例 result = submit_code(1001, """ #include <iostream> using namespace std; int main() { cout << "Hello World!"; return 0; } """) print(result) ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值