假設蜂巢結構是一個MxN的矩陣叫做A
Aij代表第i列第j行的元素
題目要求從左下角開始,所以起點就是(m-1,0)
#beemap[mxn] #bmn bmn+1 bmn-1 #bn bn+1 b2n-1 #b b1 bn-1 beemap=[] for i in range(m): beemap.append(input())
圖一
觀察圖一,從起點A(1,0)的地方朝右上移動到達T(0,0)
所以0這個方法是往上走一列,行不變,將其記為(-1,0)
同理可將其餘五種方法也如此表示
methods=[[-1,0], [0,1], [1,1], [1,0], [0,-1], [-1,-1]]
我們設定directions代表題目給的途徑,並用dummy紀錄上一步的格子。每走一步判斷是否出界,若出界則回到上一步的格子
for i in directions:
method=methods[i]
dummy=[p[0],p[1]]
p[0]+=method[0]
p[1]+=method[1]
if p[0]>m-1 or p[0]<0 or p[1]>n-1 or p[1]<0:
p=dummy
原始碼