牛客题解 | 地鼠逃跑计划

news/2025/3/4 11:01:00/文章来源:https://www.cnblogs.com/wc529065/p/18750068

题目

题目链接

题解

题目难度:简单

知识点:查找、递归

解题思路:此题使用递归方法即可以解决,因为每次地鼠换一个位置后,都会面临相同的选择,所以递归就可以。然后在建立路径变化时,面对x,y的坐标变化时,可以采用两个数组保存数据变化的选择。

题解

递归算法:
首先创建一个解决问题的函数,这个函数主要作用就是递归自己。在设计这个函数时,递归函数主要需要思考两个点:
1.在面对临界情况时的特殊处理,需要充分考虑各种临界值,对这种情况需要作出跳出递归循环;
2.在非临界时,继续进行递归,一直调用这个函数进行重复处理。

#include <iostream>
using namespace std;
//松鼠一共有四种走法,向上、下、左、右。
//在保存走法时,可以使用两个数组来保存坐标的变化
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};
//输入数据
int paths = 0;
int m, n, x, y, k;
//创建一个递归函数
void Search(int x, int y, int k) {if (k &lt;= 0) return;for (int i = 0; i &lt; 4; ++i) {int temp_x = x + dx[i];int temp_y = y + dy[i];if (temp_x &lt; 0 || m &lt;= temp_x || temp_y &lt; 0 || n &lt;= temp_y) paths++;else Search(temp_x, temp_y, k - 1);}
}
int main() {cin&gt;&gt; m &gt;&gt; n &gt;&gt; x &gt;&gt; y &gt;&gt; k;Search(x, y, k);cout &lt;&lt; paths &lt;&lt; endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/893322.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Motoman机器人XRC控制柜维修

在现代工业生产中,YASKAWA机器人扮演着至关重要的角色。然而,如同所有的机械设备一样,YASKAWA机器人也会出现故障,尤其是其控制柜部分。因此,安川机器人维修工作对于保障机器人的正常运行意义非凡,这其中安川机器人控制柜维修更是关键环节。一、常见故障及解决方法1. 电源…

【域攻击】无文件落地攻击:msiexec

msiexec.exe属于系统进程,是Windows Installer的一部分,用于安装Windows Installer安装包(MSI),对系统的正常运行非常重要,一般在运行Microsoft Update安装更新或安装部分软件的时候出现,占用内存比较大,我们亦可以使用其作为无文件落地的媒介,下面举例说明: Step 1:使…

c# hosting 和 AppDomain

前言 简单介绍一下hosting 和 appdomain。 这两个东西。 正文 我们经常听说寄宿,这个寄宿是什么东西呢? 也就是我们这里要介绍的hosting。 什么是寄宿呢? 想一个问题,一个c# 的exe 程序,为啥能够启动呢?我们记得dll中是il代码。 那么肯定要加载运行时对吧。 那么为什么叫…

Dapr 简介 - 分布式应用运行时

Dapr 简介-分布式应用运行时 简介 Whats Dapr? Dapr = Distributed Application Runtime (分布式应用运行时)看到这个词,不知道大家想到了什么?是不是类似于 java runtime,c runtime 这类词汇。网上找到了一个 应用程序、运行时库和 OS 之间的关系图,其中 Runtime 库处于…

Mac脚本发布PHP开发项目到线上

环境 服务器: CentOS Linux release 7.6.1810 (Core) 客户端: macOS Sonoma 14.1.2 (23B92) 测试环境:开发使用ftp自动上传到/www/wwwroot/dirDev文件夹自动备份并发布程序 备份/www/wwwroot/dirOnline文件夹,并将开发项目/www/wwwroot/dirDev自动同步到线上环境/www/wwwro…

Mac发布PHP开发项目到线上项目

环境 服务器: CentOS Linux release 7.6.1810 (Core) 客户端: macOS Sonoma 14.1.2 (23B92) 开发使用ftp自动上传到/www/wwwroot/dirDev文件夹自动备份并发布程序 备份/www/wwwroot/dirOnline文件夹,并将开发项目/www/wwwroot/dirDev自动同步到线上环境/www/wwwroot/dirOnli…

Windows使用技巧——查看本地ip地址

我在windows上双击一个文件,就可以直接查看我的ip地址,这是怎么做到的?步骤一:在文件夹右击,新建一个文本文档; 步骤二:双击此文档,输入以下字符:“ipconfigpause”,然后保存;步骤三:把文件重命名,把后缀更改为“bat”如下,再点“是”; 之后双击该文档,就可以…

触想对话2025智能控制与驱动发展论坛,共探中国智造新未来!

近日,由中国工控网联合SPS广州展共同举办的“2025智能控制与驱动发展论坛”在广州珠海顺利召开,触想受邀出席并发表专题演讲,围绕公司在工业物联网(IIoT)技术应用与电子制造数字化转型中的创新实践展开分享,与国内外技术专家、行业领袖及产业链代表,共同探讨中国制造的未来…

B150平台的最后一舞 CC150上机作业

简单介绍一下CC150 大船靠岸,CC150也从24年4月的五百多元逐步降价到8月的310元(个别有299),价格基本稳定了下来,性价比日益凸显。 网传这颗CC150是NVIDIA用在GeForceNow云游戏平台上的专门向Intel定制的处理器,猜测是用在虚拟化场景。这颗处理器优劣很鲜明:优点是核心数…

Qt/C++地图组件在视频监控系统中的应用/显示设备点/弹出视频画面/调整设备位置

一、前言说明 监控系统中一般有很多的摄像头点位,除了在平面图中展示位置以外,有些工地和集团,在集中管理的地方,还希望在电子地图中展示,电子地图可以缩放和拖动,切换设备点自动放大高亮,地图自动移动到设备居中的位置,双击设备可以预览实时画面。设备的经纬度信息,在…

前端常见设计模式

以下是前端开发中常见的设计模式及其核心思想、应用场景和示例,结合了多个资料源的综合总结:一、创建型模式 1. 单例模式(Singleton) • 核心思想:确保全局仅有一个实例,并提供统一访问点。 • 应用场景:全局状态管理(如 Vuex/Redux 的 Store)、配置对象、弹窗组件。 …