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

更新时间:2023-04-22 13:35:46 阅读: 评论:0


2023年4月22日发(作者:婚姻制裸花紫珠颗粒 度)

python京东笔试题象棋马⾛到指定位置⽅法数

#给定中国象棋棋谱109列。有⼀马,初始位置为(0,0),问⾛到指定位置有多少种⾛法,x0-8y0-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 hor_run(k):

global乐羊子妻翻译 M

for each in axes:

(each[0])

(each[1])

#先爱情伤感诗句 ⾛⼀步后判断,⾛到指定步数停⽌,且到达指定位置

煮饭仙人 if k == step and sum(startx) == end[0] and sum(starty) == end[1]:

M += 1

print('%d种情况马的⾛法'% M,[(k,v) for k,v in zip(startx,starty)])

#没有⾛完指定步数,⾛到边界外,这些不满⾜情况的

el:

if k < step and 0<=sum(startx) and sum(startx) <=8 and 0<=sum(starty) and sum(starty)<=9:

hor_run(k+1)

#⾛完指定步数,但没有到达指定位置,删除最后⼀个位置,以便下⼀次接收下⼀次位置

()

()

hor_run(1)

print(M)

结果:

1种情况马的⾛洞庭湖大闸蟹 法 [(1, 2), (-1, -2)]

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

2

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

总共有两种⽅法,看图:


本文发布于:2023-04-22 13:35:46,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/842789.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:象棋马
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图