- 0
- 0
- 约2.39千字
- 约 6页
- 2026-08-24 发布于山东
- 举报
罗勇军6.7BFS判重蓝桥杯算法入门
BFS判重2BFS=队列BFS:逐步扩展下一层,把扩展出的下一层状态放进队列中处理。如果这些状态有相同的,只需搜一次,只需要进入队列一次。必须判重。
例题6.15:九宫重排LanqiaoOJ261问题描述:下图的九宫格中,放着1~8的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成右图所示的局面。把上图的局面记,把下图局面记为123.46758。已知九宫初态和终态,求最少经过多少步移动可以到达,如果无法到达,输出-1。输入:输入第一行包含九宫的初态,第二行包含九宫的终态。输出:输出最少步数。不能到达则输出?1。3
思路题目求从初态到终态的最少步数,是典型的BFS最短路。让卡片移动到空格比较麻烦,改为让空格上下左右移动,就简单多了。空格的每一步移动,可能有2、3、4种新局面,如果按3种算,移动到第15步,就有3151千万种局面,队列放不下。不过,其实局面总数仅有9!=362880种,队列放得下,只要判重,不让重复的局面进入队列即可。4
用set判重5fromcollectionsimportdequedx=[-1,0,1,0]#上下左右四个方向dy=[0,1,0,-1]classNode:
您可能关注的文档
- 蓝桥杯算法入门(Python) 课件 1-1蓝桥杯软件赛参赛规则.pptx
- 蓝桥杯算法入门(Python) 课件 1-2蓝桥杯软件赛题型介绍.pptx
- 蓝桥杯算法入门(Python) 课件 1-3蓝桥杯软件赛判题.pptx
- 蓝桥杯算法入门(Python) 课件 1-4蓝桥杯软件赛知识点.pptx
- 蓝桥杯算法入门(Python) 课件 1-5备赛计划.pptx
- 蓝桥杯算法入门(Python) 课件 2-1杂题和编程能力.pptx
- 蓝桥杯算法入门(Python) 课件 2-2杂题例题.pptx
- 蓝桥杯算法入门(Python) 课件 2-3填空题概述.pptx
- 蓝桥杯算法入门(Python) 课件 2-4填空题例题.pptx
- 蓝桥杯算法入门(Python) 课件 3-1Python常用功能.pptx
最近下载
- 某某集团办公系统建设方案.docx VIP
- 胺碘酮输液反应静脉炎的预防及处理措施PPT课件.pptx VIP
- 2020心肺复苏PPT(完整版).ppt VIP
- DB13(J)∕T 建设工程消耗量标准及计算规则 勘误.pdf VIP
- 混凝土试块留置方案.docx VIP
- 钢结构监理实施细则(全).docx VIP
- 毕节市招聘大学生乡村医生事业编制人员考试真题2024.docx
- 深度解析(2026)《GBT 39114-2020纳米技术 单壁碳纳米管的紫外可见近红外吸收光谱表征方法》.pptx VIP
- 2024年7月1日实施新版医疗器械经营设施设备维护和验证校准管理制度.pdf
- BIM技术在施工进度管理中应用技术方案.docx VIP
原创力文档

文档评论(0)