牛客刷題筆記——python二維列表——迷宮題目

首先補充上一篇博客對於獲取輸入的遺漏點,即每行的輸入是固定數目的數字時,可以用:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章