关注
迷宫问题:把传入的矩阵matrix,扩成每行每列各三个matrix(共9个)的大矩阵,从最左上角的小matrix中的‘S’出发,沿可走的路径寻找,如果能找找到其它的‘S’,则是通的,s出发就能到无穷多位置 import numpy as np
def s_location(matrix):#定位S在矩阵中位置
for i in range(len(matrix)):
if 'S' in matrix[i]:
j = matrix[i].index('S')
return [i, j]
def findanother_S(matrix, i, j):#在大矩阵中沿可通过路径寻找其它S,若找到则说明是连通的
if i<0 or i>=len(matrix) or j<0 or j>= len(matrix) or matrix[i][j] == '#':
return False
if matrix[i][j] == 'S':
return True
if findanother_S(matrix, i + 1, j):
print(i+1, j)
return True
if findanother_S(matrix, i - 1, j):
print(i-1, j)
return True
if findanother_S(matrix, i, j + 1):
print(i, j+1)
return True
if findanother_S(matrix, i, j - 1):
print(i, j-1)
return True
return False
def isok(matrix):#判断matrix矩阵中S是否可以到达无穷多位置
i, j = s_location(matrix) # i,j
matrix = np.array(matrix)#把matrix变成每行、每列各3个(共九个)matrix的大矩阵
matrix = np.concatenate([matrix] * 3, axis=1)
matrix = np.concatenate([matrix] * 3, axis=0)
matrix[i][j] = '#'
print(matrix)
if findanother_S(matrix, i + 1, j):
print(i+1,j)
return True
if findanother_S(matrix, i - 1, j):
print(i-1,j)
return True
if findanother_S(matrix, i, j + 1):
print(i,j+1)
return True
if findanother_S(matrix, i, j - 1):
print(i,j-1)
return True
print(i,j)
return False
if __name__== '__main__':
matrix1 = [['S', '#'], ['#', '.']]
matrix2 = [['.', '.', '.'], ['#', '#', '#'], ['#', 'S', '#']]
result = isok(matrix2)
print(result)
查看原帖
点赞 2
相关推荐
12-21 15:20
重庆邮电大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-24 22:32
西安电子科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 26届双非本鼠硕拿下5个ssp的秋招总结及一条龙经验分享2.2W
- 2... 2025的主旋律是蛰伏,落寞,遗憾1.0W
- 3... 圣诞节用 AI 做个牛客运营翻翻乐!(含代码)8402
- 4... 杂记近期所面试的三家中小厂6110
- 5... 选择即命运—2025年度总结5227
- 6... 从H200解禁评估:国资算力平台还值得应届就业吗?4438
- 7... 大学废物离开优绩主义之后发现外面根本没下雨4438
- 8... 学校发力了,没招了牛友们3956
- 9... 我只是一个脆弱的人3853
- 10... 在大厂实习 因为请一天病假要求我离职3661
正在热议
更多
# 2025年终总结 #
168470次浏览 2844人参与
# 找工作,行业重要还是岗位重要? #
84928次浏览 1681人参与
# 职场上哪些行为很加分? #
305893次浏览 3440人参与
# 大家每天通勤多久? #
68882次浏览 434人参与
# 你面试体验感最差/最好的公司 #
14450次浏览 232人参与
# 一人说一个提前实习的好处 #
8949次浏览 183人参与
# 今年你最想重开的一场面试是? #
3041次浏览 58人参与
# 秋招落幕,你是He or Be #
8754次浏览 185人参与
# 重来一次,你会对开始求职的自己说 #
5392次浏览 136人参与
# 实习没事做是福还是祸? #
14581次浏览 224人参与
# 团建是“福利”还是是 “渡劫” #
6430次浏览 141人参与
# 实习的内耗时刻 #
210278次浏览 1531人参与
# 你小心翼翼的闯过多大的祸? #
10425次浏览 149人参与
# 大厂VS公务员你怎么选 #
74082次浏览 680人参与
# 比亚迪工作体验 #
73879次浏览 279人参与
# 工作中听到最受打击的一句话 #
5160次浏览 92人参与
# 大家实习每天都在干啥 #
106305次浏览 575人参与
# 如何排解工作中的焦虑 #
247754次浏览 2285人参与
# 我的第一份实习怎么找的 #
208352次浏览 1824人参与
# 长城汽车工作体验 #
12915次浏览 16人参与
顺丰集团工作强度 378人发布