关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 我的职场社死时刻 #
3929次浏览 65人参与
# 你最满意的offer薪资是哪家公司? #
50647次浏览 257人参与
# 腾讯音乐秋招 #
417049次浏览 4724人参与
# 职场中那些令人叹为观止的八卦 #
4272次浏览 71人参与
# 聊聊你的职场新体验 #
292947次浏览 1803人参与
# 月薪多少能在一线城市生存 #
86638次浏览 589人参与
# 百度秋招 #
41790次浏览 355人参与
# 中科曙光工作体验 #
3929次浏览 20人参与
# 那些年,我收到的‘奇葩’回复 #
2314次浏览 33人参与
# 秋招吐槽大会 #
25097次浏览 260人参与
# 租房前辈的忠告 #
269536次浏览 7156人参与
# XX请雇我工作 #
3244次浏览 57人参与
# 秋招你经历过哪些无语的事 #
2849次浏览 49人参与
# 你秋招最后悔的选择 #
3536次浏览 44人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
38634次浏览 400人参与
# 你找工作想离家近 or 离家远? #
4084次浏览 77人参与
# 交通银行工作体验 #
19887次浏览 68人参与
# 京东工作体验 #
20710次浏览 118人参与
# 哪些公司开始补录了 #
3477次浏览 63人参与
# 如何拒绝/反向PUA #
80703次浏览 365人参与
# 你父母给过你哪些不靠谱的职场建议? #
4557次浏览 79人参与
# 谈薪时HR压价该怎么应对 #
240815次浏览 3298人参与
查看8道真题和解析