当前位置: 首页 > news >正文

东方博宜OJ 2420:汉诺塔(4) ← 递归

【题目来源】
https://oj.czos.cn/p/2420

【题目描述】
汉诺塔的问题大家都已经很熟悉了,有三个柱子,第 1 个 A 柱子上有一些大小不一的 n 个金片,初始状态下保证金片从上到下按照从小到大的顺序叠放,并按照 1~n 的顺序编号。
要把金片从 A 柱移动到 C 柱,可以借助 B 柱,移动过程中不能出现大金片在小金片上面的情况。
现增加一条规则:移动过程中,只允许将金片移到相邻的柱子,也就是可以从 A 柱移动金片到 B 柱,但不能从 A 直接移动金片到 C 柱;也就是说,每次移动一定会移动到 B 柱,或者从 B 柱移出。
请问:如果有 n 个金片需要从 A 柱移动到 C 柱,应该怎样移动。

【输入格式】
一个整数 n,代表 A 柱上金片的数量。(n≤5)

【输出格式】
输出若干行,第 i 行输出第 i 步需要将哪个立柱上的金片移动到哪个立柱。​​​​​​​

【输入样例】
2

【输出样例】
A To B
B To C
A To B
C To B
B To A
B To C
A To B
B To C​​​​​​​

【数据范围】
n≤5

【算法分析】
● 带有相邻移动限制的汉诺塔问题,移动次数为 3^n-1。

【算法代码】

#include <bits/stdc++.h>
using namespace std;void hnt(int n, char st, char to, char aux) {if(n==0) return;if(n==1) {if((st=='A' && to=='B') || (st=='B' && to=='A') ||(st=='B' && to=='C') || (st=='C' && to=='B')) {cout<<st<<" To "<<to<<endl;} else {cout<<st<<" To "<<aux<<endl;cout<<aux<<" To "<<to<<endl;}return;}if((st=='A' && to=='C') || (st=='C' && to=='A')) { //n>1hnt(n-1,st,to,aux); //A->Ccout<<st<<" To "<<aux<<endl; //A->Bhnt(n-1,to,st,aux); //C->Acout<<aux<<" To "<<to<<endl; //B->Chnt(n-1,st,to,aux); //A->C} else {hnt(n-1,st,aux,to);cout<<st<<" To "<<to<<endl;hnt(n-1,aux,to,st);}
}int main() {int n;cin>>n;hnt(n,'A','C','B');return 0;
}/*
in:
2out:
A To B
B To C
A To B
C To B
B To A
B To C
A To B
B To C
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/156206151
https://blog.csdn.net/hnjzsyjyj/article/details/156206554
https://blog.csdn.net/hnjzsyjyj/article/details/156201255
https://blog.csdn.net/hnjzsyjyj/article/details/156192874
https://blog.csdn.net/hnjzsyjyj/article/details/156204715
https://blog.csdn.net/hnjzsyjyj/article/details/156185382
https://blog.csdn.net/hnjzsyjyj/article/details/156182882

 

http://www.rkmt.cn/news/147516.html

相关文章:

  • 2025年知名的生涯规划设备/生涯规划模拟系统校园应用优选榜 - 品牌宣传支持者
  • 2025年12月陕西地弹门维修公司最新排名盘点:技术实力与本地化服务双维度测评 - 深度智识库
  • 香港服务器租用带宽类型全解
  • CodeSpirit .NET 10 升级说明
  • 【算法】day 19 leetcode 100 矩阵+贪心 - 详解
  • 北京顺义婚内财产协议律所推荐:2025-2026靠谱机构 TOP5 选择攻略 - 老周说教育
  • 【独家首发】cogagent Open-AutoGLM内部架构曝光,专家级调优策略首次公开
  • Knip - 一键清理项目无用代码
  • 你还在手动写脚本?Open-AutoGLM一键生成短视频内容的5个关键步骤
  • 2025年螺杆泵靠谱厂家推荐:螺杆泵专业供应商选择与个性化定制厂家选择指南 - mypinpai
  • 伊朗新闻数据集-33万+条波斯语新闻文本-涵盖社会政治经济国际多领域-完整标题摘要正文-支持NLP研究文本分析内容挖掘应用-2016至2022年期间的各类新闻内容-自然语言处理研究、跨文化传播分析
  • 2025年12月陕西幕墙安装公司最新推荐榜:含幕墙安装维修、雨棚更换、地弹门维修、窗户改造 - 深度智识库
  • 快排(非递归)和归并的实现
  • 保姆级2025网安学习路线:从零到专家,一份超详细避坑指南
  • 2025年引流获客工具推荐排行榜,新测评精选服务商推荐 - mypinpai
  • 2025年质量好的粘结钕铁硼塑磁转子TOP实力厂家推荐榜 - 品牌宣传支持者
  • 为什么顶级创作者都在用Open-AutoGLM?揭秘智能视频生成背后的黑科技
  • 错过cogagent Open-AutoGLM等于错过AI未来:3分钟看懂技术拐点
  • 计算机毕业设计springboot农村住宅房屋信息管理应用系统 基于Spring Boot的农村住宅信息管理系统设计与实现 Spring Boot框架下的农村房屋信息管理平台开发
  • 2025年白酒厂家实力推荐榜:纯粮食高梁酒/酱香型纯粮白酒/封坛老酒源头厂家精选 - 品牌推荐官
  • Open-AutoGLM设备需求曝光(稀缺配置清单):企业级部署不可忽视的5项硬指标
  • Amazon_Unlocked_Mobile_413840条_Amazon解锁手机用户评论数据集_品牌_价格_评分_评论文本_适用于情感分析与推荐系统_高覆盖率样本与详细字段统计_用户情感分析
  • 为什么顶级智能设备都在用Open-AutoGLM做语音唤醒?真相曝光
  • 揭秘cogagent与AutoGLM融合黑科技:实现真正自主任务执行
  • 【大模型落地关键一步】:Open-AutoGLM部署硬件选型避坑指南
  • 汽车智能体Agent:国务院“人工智能+”行动意见 对汽车智能体领域 革命性重塑
  • 为什么你的AI股评总失效?:重写Open-AutoGLM提示词结构的3个致命误区
  • 2025浙江广告界权威口碑榜,这些大型公司实力上榜,广告公司找哪家深度剖析助力明智之选 - 品牌推荐师
  • 2025最新!8个AI论文软件测评:本科生毕业论文写作全攻略
  • 【短视频效率提升300%】:Open-AutoGLM自动化生成实战全解析