鱼C论坛

 找回密码
 立即注册
查看: 1983|回复: 10

马踏棋盘

[复制链接]
发表于 2018-9-23 22:04:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
呃,刚看了个走迷宫的python,发现好像能用在马踏棋盘上面,结果,我就来提问了!!!
问题,为什么这个文件跑贼慢!!!
怎么改能快点,我看人家跑迷宫挺快的啊

  1. def solution(path,dep):
  2.     if dep == n**2:
  3.         paths.append(path)
  4.         return path

  5.     for each_mv in move:
  6.         node = [path[-1][0]+each_mv[0],path[-1][1]+each_mv[1]]
  7.         if -1 not in node and -2 not in node and n+1 not in node and n not in node and node not in path :
  8.             path.append(node)
  9.             dep +=1
  10.             board[node[0]][node[1]] = dep
  11.             solution(path,dep)
  12.             path.pop(-1)
  13.             dep -= 1
  14.         

  15. def main():
  16.     solution(path,dep)
  17.     for each in paths:
  18.         print(each)
  19.    

  20. if __name__ == '__main__':
  21.     move = [[x,y] for x in [-2,-1,1,2] for y in [-2,-1,1,2] if abs(x) != abs(y)]
  22.     n = 8
  23.     board = [[0 for i in range(n)] for i in range(n)]
  24.     path = [[2,3]]
  25.     paths = []
  26.     dep = 0
  27.     main()

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-23 22:09:07 | 显示全部楼层
马踏棋盘如果用回溯法好像是 O(n!)。没有用分支法的话,好像就这么慢了~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-23 22:11:40 | 显示全部楼层
claws0n 发表于 2018-9-23 22:09
马踏棋盘如果用回溯法好像是 O(n!)。没有用分支法的话,好像就这么慢了~

呃,咋改,还有回溯法这些在小甲鱼数据结构视频里面有木有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:17:47 | 显示全部楼层
RIXO 发表于 2018-9-23 22:11
呃,咋改,还有回溯法这些在小甲鱼数据结构视频里面有木有

还不会,没研究到那里。
有讲 61集,但我觉得还有进步的空间
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:21:15 | 显示全部楼层
算法,数据结构从来没看过,有机会看看,有视频吗
是不是以C的为主?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-23 22:24:03 | 显示全部楼层
claws0n 发表于 2018-9-23 22:17
还不会,没研究到那里。
有讲 61集,但我觉得还有进步的空间

我突然好恨那个发马踏棋盘python实现的人,这题,我第一眼看的时候,感觉,简单!
然后开始写代码,卡了3个小时。。。写出来了,不知道跑的结果对不对,因为根本跑不出来
然后,准备看别人代码,都是C和C++的,看的一知半解
难受的想砸键盘!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:25:11 | 显示全部楼层
塔利班 发表于 2018-9-23 22:21
算法,数据结构从来没看过,有机会看看,有视频吗
是不是以C的为主?

嗯,C
论坛可以找到,链去 B 站的
小甲鱼的有一点点散
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:29:15 | 显示全部楼层
claws0n 发表于 2018-9-23 22:25
嗯,C
论坛可以找到,链去 B 站的
小甲鱼的有一点点散

。。我C语言是真0基础,= =
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:38:51 | 显示全部楼层
塔利班 发表于 2018-9-23 22:29
。。我C语言是真0基础,= =

哥哥是学面对对象的,回来看面对过程的 C,我怕哥哥看不下去
哥哥已经很厉害啦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 22:42:43 | 显示全部楼层
claws0n 发表于 2018-9-23 22:38
哥哥是学面对对象的,回来看面对过程的 C,我怕哥哥看不下去
哥哥已经很厉害啦~

没有,我之前什么软件基础都没,就跟着小甲鱼学的,,专业学电的,按理说也该学点C,但是基本大学都跑路玩游戏啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-25 10:54:59 From FishC Mobile | 显示全部楼层
放弃算法吧,很痛苦(我是没爱了)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-2 10:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表