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

蓝桥杯真题(Python)每日练Day3

题目

请添加图片描述

题目分析

  1. 为了找到满足条件的放置方法,可以带入总盘数为2和3的情景,用递归做法实现。
    2.== A中存在1 2两个盘,为了实现最少次数放入C且上小下大,先将1放入B,再将2放入C,最后将1放入C即可。同理当A中存在1 2 3 三个盘时,可将1 2盘看成整体,再理解整个过程可以发现,把N个圆盘的问题递归成N-1个圆盘的问题即可。==

题解1(递归)

#可联想两个盘和三个盘的时候摆放的过程
def hanio(x,y,z,n):global sum#设置全局变量sum统计移动次数if (n==1):#当移动到A柱只有一个盘子的时候sum+=1if(sum==m):#此时如果要满足题目要求条件,当移动到A柱只有一个盘子的时候,A的最后一个盘子必须移动到C柱print(f"#{n}: {x}->{z}")else:#A的最后一个盘子的上一个盘子一定是移动到Bhanio(x,z,y,n-1)#一定是从A移动到Bsum+=1if sum==m:print(f"#{n}: {x}->{z}")hanio(y,x,z,n-1)#此时是最后一步把B柱的盘放到C柱
n,m=map(int,input().split())
sum=0
hanio('A','B','C',n)
print(sum)

题解2(栈)

  1. 利用栈实现。
st =  [[0 for i in range(30000)] for i in range(4)]#创建一个二维数组[[],[],[],[]]
sum,m = 0,0
def move(x, y, n):global sum,m#定义全局变量element = st[x].pop()#pop方法移出并返回值st[y].append(element)sum +=1a,b ='',''    if x==1: a='A'if x==2: a='B'if x==3: a='C'if y==1: b='A'if y==2: b='B'if y==3: b='C'if sum == m: print('#',n,': ',a,"->",b, sep="")# sep=""表示后面没空格
def hanoi(n,x, y, z):    if (n == 1): move(x,z,n)else:hanoi(n-1,x, z, y)move(x,z,n)hanoi(n-1,y, x, z)        
n, m = map(int, input().split())
for i in range(n):  st[1].append(i)#初始化栈,st[1]表示A
hanoi(n,1,2,3)
print(sum)
http://www.lryc.cn/news/285213.html

相关文章:

  • 结构体大揭秘:代码中的时尚之选(上)
  • 【unity学习笔记】语音驱动blendershape
  • docker常用基础命令
  • 自动驾驶中的坐标系
  • js数组的截取和合并
  • 2024美赛数学建模思路 - 案例:感知机原理剖析及实现
  • 大中台,小前台:打造快速响应市场的企业竞争力
  • SpringCloud Alibaba 深入源码 - Nacos 和 Eureka 的区别(健康检测、服务的拉取和订阅)
  • Java复习_3
  • 分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测
  • 力扣hot100 找到字符串中所有字母异位词 滑动窗口 双指针 一题双解
  • PG DBA培训21:PostgreSQL性能优化之基准测试
  • 使用excel从1-2048中随机选择1个整数,并展示与其对应的单词
  • c++可调用对象、function类模板与std::bind
  • 【高危】Apache Solr 环境变量信息泄漏漏洞
  • Python中的卷积神经网络(CNN)入门
  • vulnhub靶机HotelWW
  • ArcGIS Pro 标注牵引线问题
  • Java8的Stream最佳实践
  • Spark SQL函数定义
  • 触摸屏监控双速电动机-PLC I/O电路设计
  • idea中使用git提交代码报 Nothing To commit No changes detected
  • 基于长短期神经网络的回归分析,基于LSTM的回归预测
  • mac查看maven版本报错:The JAVA_HOME environment variable is not defined correctly
  • 蓝桥杯省赛无忧 编程9
  • Spring data都包含哪些内容
  • unity 利用Graphics.Blit来制作图片效果
  • Linux ---- 小玩具
  • 练习题 有奖问答
  • php 文件操作