news 2026/4/16 11:05:23

hh蓝桥杯一题--青蛙跳杯子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hh蓝桥杯一题--青蛙跳杯子

7.青蛙跳杯子 - 蓝桥云课

这个题目最后是抽象为bfs算法去解决的,一开始我怎么都没想到为什么会用bfs,后来看到他们的讲解才明白可以用bfs解决

任何可以用 BFS 解决的问题,都需要有以下几个要素:

  1. 状态(State):问题的某个特定情况

  2. 初始状态(Start State):问题的起始点

  3. 目标状态(Goal State):想要达到的终点

  4. 状态转移(State Transition):从一个状态到另一个状态的操作

  5. 状态空间(State Space):所有可能状态的集合

青蛙跳杯子问题
↓ 抽象
"状态" = 杯子排列
"移动" = 合法交换
↓ 转化
图论问题:找从起点到终点的最短路径
↓ 实现
BFS:队列 + 状态记录 + 合法性检查

接下来就是代码实现了(典型的bfs模板)

#include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<map> using namespace std; string s1,s2; int n; int d[6]={-3,-2,-1,1,2,3};//6个可能跳跃的方向 map<string,int> ans;//记录每个状态需要的步数 int bfs() { queue<string> q; q.push(s1); ans[s1]=0;//初始状态步数为0 while(q.size()) { string s=q.front(); q.pop(); int cnt=ans[s];//当前步数 int x=s.find('*');//找到空位置 for(int i=0;i<6;i++) { int z=x+d[i];//目标青蛙的位置 if(z>=0&&z<n) { swap(s[x],s[z]);//交换空杯与青蛙 //新状态没有被访问过 if(!ans.count(s)) { ans[s]=cnt+1;//记录步数 if(s==s2)return ans[s]; q.push(s); } swap(s[x],s[z]); } } } return -1; } int main() { cin>>s1>>s2; n=s1.length(); cout<<bfs(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 12:12:27

告别版本冲突:mise配置终极实战指南

告别版本冲突&#xff1a;mise配置终极实战指南 【免费下载链接】mise dev tools, env vars, task runner 项目地址: https://gitcode.com/GitHub_Trending/mi/mise "在我电脑上能运行"这句话是不是让你头皮发麻&#xff1f;&#x1f92f; 团队协作中最头疼的…

作者头像 李华
网站建设 2026/4/16 9:09:10

基于springboot + vueOA办公管理系统

办公管理 目录 基于springboot vue办公管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue办公管理系统 一、前言 博主介绍&am…

作者头像 李华
网站建设 2026/4/16 9:08:50

无人值守仓库管理系统设计与实现开题报告

本科毕业论文&#xff08;设计&#xff09;开题报告 题 目 无人值守仓库管理系统设计与实现 姓 名 学 号 年级班级 专 业 指导教师 学 院 开题报告 1、选题背景与研究意义 1.1 研究背景 随着社会经济的快速发展&#xff0c;物流行业面临…

作者头像 李华
网站建设 2026/4/16 9:06:57

终极指南:如何用开源SDN构建高性能虚拟网络

在云原生时代&#xff0c;网络虚拟化已成为现代数据中心的核心技术。Open vSwitch作为开源SDN解决方案&#xff0c;为云平台运维人员和技术决策者提供了构建高性能虚拟网络的完整工具链。本文将采用"问题-解决方案-实战"的创新框架&#xff0c;带你深入理解这一革命性…

作者头像 李华