#给定中国象棋棋谱10行9列。有一马,初始位置为(0,0),问走到指定位置有多少种走法,x轴0-8,y轴0-9,左下角位置为(0,0)
#采用回溯法
#马的初始位置
start = [0,0]
#马的最终位置
end  =[0,0]
#指定马走的步数
step = 2
#马的八个方向
axes = [[1,2],[1,-2],[2,1],[2,-1],[-1,2],[-1,-2],[-2,1],[-2,-1]]
#新建空的列表当做栈,便于出栈,进栈
startx=[]
starty=[]
M=0
def horse_run(k):global Mfor each in axes:startx.append(each[0])starty.append(each[1])#先走一步后判断,走到指定步数停止,且到达指定位置if k == step and sum(startx) == end[0] and sum(starty) == end[1]:M += 1print('第%d种情况马的走法'% M,[(k,v) for k,v in zip(startx,starty)])#没有走完指定步数,走到边界外,这些不满足情况的else:if k < step and 0<=sum(startx) and sum(startx) <=8 and 0<=sum(starty) and sum(starty)<=9:horse_run(k+1)#走完指定步数,但没有到达指定位置,删除最后一个位置,以便下一次接收下一次位置startx.pop()starty.pop()
horse_run(1)
print(M)

结果:

第1种情况马的走法 [(1, 2), (-1, -2)]
第2种情况马的走法 [(2, 1), (-2, -1)]
2

马从初始位置到初始位置的走法,且只能走两步。

总共有两种方法,看图:

python京东笔试题象棋马走到指定位置方法数相关推荐

  1. 【动态规划】象棋里马走到指定位置的方法数(java)

    动态规划--马走到指定位置的方法数 马走到指定位置的方法数 暴力递归 代码演示 动态规划 代码演示 动态规划专题 马走到指定位置的方法数 想象一个象棋的棋盘, 然后把整个棋盘放入第一象限,棋盘的最左下 ...

  2. 2019 java 京东笔试题

    想进京东的同学注意了,这里是修真院面试笔记整理,那么这里就给大家分享一下 [2019 java 京东笔试题] JVM的内存结构和管理机制: JVM实例运行 JVM实例消亡 JVM的生命周期 JVM的内 ...

  3. 110 道 Python 面试笔试题超强汇总

    本 Chat 为免费基础入门篇,获取更多面试知识点请大家参阅我的另一个 Chat :致金三银四辛勤找工作的你们:Python 面试必备. 本 Chat 你将会获得以下知识: 110 道 Python ...

  4. python招聘笔试题_滴滴2020年春招笔试题分析(Python)

    数据背景来自:优梨:滴滴2020年春招Sql笔试题分析​zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...

  5. 一道经典的Python数据分析笔试题

    最近无意看到一份关于数据分析的Python笔试题,做起来还是很有意思的,特意自己动手做了一下,和大家分享一下,希望大家也可以跟着练习. 题目如下: 首先,模拟数据: importpandas aspd ...

  6. python数据分析笔试题_数据分析岗Python笔试题

    我整理了数据分析师岗的Python笔试题,主要涉及到用Python完成数据处理和分析的内容.自己做了一遍,供大家学习思考. 一.数据处理题 1.将Excel工作簿 "Test.xlsx&qu ...

  7. 【刷题篇】象棋“马”移动到目标位置

    目录 一.题目 二.题解 2.1 暴力递归 2.2 动态规划 一.题目 把一个棋盘放到第一象限,棋盘的最左下角是(0,0)位置,整个棋盘是横坐标上又9条线,纵坐标上有10条线的区域,给定3个参数x,y ...

  8. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

  9. 四行Python代码解决excel数据填充到word指定位置!

    网上介绍这两种格式转换的文章很多, 发现很少有实现指定位置替换并将所有内容生成在一个文档的,综合前辈的经验探索出了解决方案,希望能给有需要的小伙伴帮助. excel原数据: 目标格式: 我们的目标就是 ...

  10. 110道python面试笔试题汇总,你能答对几道?

    该文110道面试题全部来自于大家笔试面试时候拍照后发到群里求助的题目,并自己一道一道亲自做了,大部分题目属于巩固基本python知识点的题目,希望对基本知识不熟悉的同学,能认真做一遍,肯定会有不少收获 ...

最新文章

  1. pip 将 某包指定到某目录 批量安装
  2. login控件设置居中
  3. arm Linux 中断管理机制
  4. android 文件读取错误,Android源文件从SD卡读取错误问题,怎么处理
  5. web高德maker动画_Web Maker —我如何构建一个快速的离线前端游乐场
  6. java excel api及详细教程_针对Java Excel API及详细教程
  7. JavaScript传参年月日格式日期自动运算问题解决
  8. golang中包互相引用的解决方法
  9. 剑指offer——面试题32:从1到n整数中1出现的次数
  10. 2016年零售业CIO的七大革命性挑战
  11. 每天一个PS技巧(原理+实践)——简单背景的抠图与毛发抠图
  12. MySQL闪退以及服务中没有MySQL和MySQL 服务无法启动。系统出错。发生系统错误 1067。 进程意外终止。
  13. Hive return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask.……table could not be cleaned up.
  14. HDU5956 The Elder(树上斜率DP)
  15. 基于java的健身房会员卡管理系统ssh框架
  16. excel生成动态进度条
  17. [信息论与编码]离散信道及信道容量(三)
  18. OpenJDK8维护暂停?272迟迟不发布
  19. SDUT-OJ偏序关系
  20. GeneXus学习笔记——入门篇

热门文章

  1. 使用beautifulsoup4,爬取一波贴吧的表情包
  2. js+jQuery 打造我的快乐小农场
  3. 记录第一次面试的体会(字节跳动实习生招聘)
  4. fprintf函数matlab,fprintf函数的运用(组图)
  5. 微信公众号里面使用定位
  6. 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
  7. 量子测量 量子计算 量子通讯 概述
  8. python 用泽勒算法计算该天是星期几
  9. java课程结课论文_Java结课论文.doc
  10. C语言打印菱形超详细版本,逐句解析