fromStackimportStackfromQueueimportQueuedirs=[(-2,1),(-1,2),(1,2),(2,1),\(2,-1),(1,-2),(1,-2),(2,-1)]#下一步可能跳转的方向defchessboard():#生成12*12的棋盘a=[]foriinrange(...

from Stack import Stackfrom Queue import Queuedirs = [(-2, 1), (-1, 2), (1, 2), (2, 1),\ (2, -1), (1, -2), (1,-2), (2,-1)]#下一步可能跳转的方向def chessboard():#生成12*12的棋盘 a = [] for i in range(12): a.append([]) for i in range(12): for j in range(12): a[i].append(0)#以0表示可行 for i in range(12): a[0][i], a[11][i], a[i][0], a[i][11] = 99, 99, 99, 99 a[1][i], a[10][i], a[i][1], a[i][10] = 99, 99, 99, 99 print(a) return adef print_cb(cb): l = len(cb) for i in range(l): print(cb[i]) def mark(cb, pos): cb[pos[0]][pos[1]] = -1#已到过的点进行标记 def runnable(cb, pos): i = pos[0] j = pos[1] return cb[i][j] == 0def find_path(start): cb = chessboard() st = Stack() st.push(start) mark(cb, start) while not st.is_empty() and st.num <64: pos = st.pop() # mark(cb, pos) for i in range(8): nextp = (pos[0]+dirs[i][0], pos[1]+dirs[i][1]) if runnable(cb, nextp): mark(cb, nextp) st.push(pos)#原位置入栈以记录 st.push(nextp) if st.num == 64: break if st.num == 64: print("Path found successfully.") print_cb(cb) i = 64 while not st.is_empty(): loc = st.pop() cb[loc[0]][loc[1]] = i i -=1 print_cb(cb) return 1 print("Fail to find.") return 0find_path((2, 2))

展开

我的python世界_请前辈看看我的python世界周游世界算法相关推荐

  1. 51自学网python爬虫_小白必看的Python爬虫流程

    定义: 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本. 简介: 网络蜘蛛是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider ...

  2. 透过性别看世界_透过树林看森林

    透过性别看世界 决策树如何运作 (How a Decision Tree Works) Pictorially, a decision tree is like a flow-chart where ...

  3. angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...

  4. 头条上python广告_满大街都是Python广告,真的如广告说的那样方便吗?,学精通后真能月如过万吗?业内大佬怎么看?...

    在编程领域.Python语言已经被吹得神乎其神.很多人已经产生了一种错觉:仿佛当今编程世界,唯Python莫属,其它语言皆为渣渣. 就连地产大佬潘石屹也发微博为Python背书,不愧两者都姓" ...

  5. python棋盘格_干货必看 | Python的turtle库之经典棋盘格

    国际棋盘格是一个由9横9纵的线组成的格子正方形,用Python的turtle库进行绘制的时候,先做9横9纵的线,再填上灰色小正方形,这就可以完成一个棋盘格了,下面是具体的操作步骤. (一)整体代码 1 ...

  6. 怎么查看自己安装的python版本_教你如何检查 Python 版本

    本教程介绍如何使用 命令行检查操作系统上安装的 Python 版本.这在安装用 Python 编写的需要特定版本 Python 的应用程序时非常有用. Python 是世界上最流行的编程语言之一.它用 ...

  7. 人生苦短python作伴_“人生苦短,我用Python”

    经过人机大战,AlphaGo一战成名,Python也确立了人工智能时代头牌开发语言的地位,国家相关教育部门更是把它纳入到了传统教育体系中. 对于有跨界转型需求的小伙伴来说,get这门技能是个不错的切入 ...

  8. ruby和python比较_为什么说Ruby比Python容易阅读

    这是一篇充满偏见的语言战争文章,是一场无意义的锤子和锤子的比拼.语言的复杂性可以通过选择语言回避,而问题本身的复杂性是选择哪个语言都无法回避的. 不屑语言战争的人可以轻松无视此文. 1.字符串格式化 ...

  9. 树莓派能直接运行python程序_在树莓派上运行python脚本 - python

    我正在研究rapiberry pi 3大约3个月,开始使用它时遇到了问题. 我找不到在树莓派打开时在其上运行python脚本的有效,安全的方法(没有监视器,鼠标和键盘).此刻,我在/ etc / pr ...

最新文章

  1. matlab中有哪些有趣的命令?好玩的matlab彩蛋
  2. Thinkphp小知识点
  3. c malloc 头文件_干货笔记 | C/C++笔试面试详细总结(二)
  4. Oracle WorkFlow(工作流)(一)
  5. 奇怪的电梯(洛谷-P1135)
  6. Python多线程(自学必备 超详细)
  7. 服务器说你注册过多,为什么我的世界服务器说此用户名已被注册我都换了很多用户了都没用 爱问知识人...
  8. 高阶函数-语法糖-lambda(三分钟读懂)
  9. struts拦截器+注解实现网络安全要求中的日志审计功能
  10. Producer-Consumer question : OO 生产者-消费者:面向对象
  11. linux精简版远程登录,Linux下定制SSH来简化远程访问的方法
  12. win10系统dnf安装不上服务器失败,win10系统玩dnf图表系统组建失败怎么修复
  13. python矩形法求定积分_c程序用矩形法编一个通用函数求定积分0到1区间sinx,cosx,e的x次方,1+x,2x+3,(x*x)+1,e的x次方+1,(1+X)*(1+X),x*x*x...
  14. 递归构造格雷码c语言,递归构造格雷码
  15. 遗传算法bp神经网络原理,bp神经网络 遗传算法
  16. imovie结合QuickTime Player进行手机视频剪辑
  17. 【笔记】win10打开注册表的三种方式
  18. 提升企业网站用户体验 你不可不知的秘诀
  19. 炸裂!前浪老狗工作这5年遇到的面试题们,建议老铁们收藏研读
  20. Storm Control 风暴控制

热门文章

  1. 12.3 文本检索控制
  2. 用二维数组遍历 公司销售额
  3. Python练习19:合格率计算
  4. 个人用linux的常用软件和一些问题的解决方案
  5. arcgis 生成河流剖面图
  6. 软件评测师——软件工程基础知识2
  7. aspose依赖导入
  8. 安装Origin提示your origin installation requires a license file to run,please……
  9. 一周新闻纵览:欧洲交通灯曝安全漏洞,北京发布新基建方案,任天堂30万账户被入侵
  10. robot光线机器人安卓版_Robot Crash Fight