发布时间:2022-12-28 14:30
首先补充上一篇博客对于获取输入的遗漏点,即每行的输入是固定数目的数字时,可以用:
while True:
try:
(x, y) = (int(x) for x in raw_input().split())
print x + y
except EOFError:
break
最近刷题看到了一题,是假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-迷宫的出口,大写字母-门,小写字母-对应大写字母所代表的门的钥匙
当时毫无头绪,只得参考答案寻找思路,结果发现牛客上并没有人用python做= =尴尬:
首先找python生成二维列表的方法:
lists = [[] for i in range(3)]
>>> lists[0].append(3)
>>> lists[1].append(5)
>>> lists[2].append(7)
>>> lists
[[3], [5], [7]]
那么首先生成迷宫对应的二维数组
import sys
def generate(m,n,grip)
for line in sys.stdin