关注
python迷宫 def tracback(x, y, dis, n):
if pos[x][y] == '#':
return float('inf')
if pos[x][y] == 'E':
if pos[x][y] != '*':
return dis
pos[x][y] = '#'
if x+1 == n:
a = tracback(0, y, dis + 1, n)
else:
a = tracback(x + 1, y, dis + 1, n)
if x-1 == -1:
b = tracback(n-1, y, dis + 1, n)
else:
b = tracback(x - 1, y, dis + 1, n)
if y+1 == n:
c = tracback(x, 0, dis + 1, n)
else:
c = tracback(x, y+1, dis + 1, n)
if y-1 == -1:
d = tracback(x, n-1, dis + 1, n)
else:
d = tracback(x, y-1, dis + 1, n)
res = min(a, b, c, d)
pos[x][y] = '.'
return res
n = int(input().strip())
pos = []
start = [0, 0]
for i in range(n):
temp = input().strip()
row = []
for j in range(n):
if temp[j] == 'S':
start = [i, j]
row.append(temp[j])
pos.append(row)
res = tracback(start[0], start[1], 0, n)
if res == float('inf'):
print(-1)
else:
print(res)
查看原帖
点赞 4
相关推荐
牛客热帖
更多
正在热议
更多
# 大厂面试初体验 #
5282次浏览 42人参与
# 如果可以,你希望哪个公司来捞你 #
100798次浏览 457人参与
# 如何提高实习转正率? #
2221次浏览 30人参与
# leader认为你工作不认真怎么办 #
30854次浏览 140人参与
# 你遇到过哪些神仙同事 #
100298次浏览 724人参与
# 我的国央企投递进展 #
46635次浏览 291人参与
# 国企是理工四大天坑的最好选择吗 #
13680次浏览 95人参与
# 五一之后,实习真的很难找吗? #
78502次浏览 515人参与
# 机械人,你被简历秒挂的企业有哪些? #
43003次浏览 281人参与
# 招聘要求与实际实习内容不符怎么办 #
112985次浏览 770人参与
# 如果公司给你放一天假,你会怎么度过? #
17078次浏览 128人参与
# 找工作时的取与舍 #
80442次浏览 568人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
246289次浏览 1792人参与
# 三一重工求职进展汇总 #
15052次浏览 67人参与
# OPPO求职进展汇总 #
662846次浏览 5041人参与
# 你的秋招第一场笔试是哪家 #
142761次浏览 1453人参与
# 总结:哪家公司面试体验感最差 #
61077次浏览 276人参与
# 如果重来一次你还会读研吗 #
176896次浏览 1786人参与
# 机械人,说说你的烦心事 #
69697次浏览 839人参与
# 面试时被问的最奇葩的问题 #
22982次浏览 130人参与