#24987: Python TLE 求救QQ


nonoivan0627@gmail.com (我好蚌)

學校 : 臺北市立松山高級中學
編號 : 127543
來源 : [125.227.22.28]
最後登入時間 :
2022-11-13 23:12:04
f699. 品嘉的茶葉蛋 -- wseds | From: [125.227.22.28] | 發表日期 : 2021-04-10 00:32

def bfs() :
    x = 0
    y = 0
    queue = [[0,0]]
    visited = [[0,0]]
    dic = {(0,0):0}
    ans = []
    while queue:
        [xy] = queue.pop(0)
        for dirrect in dirrection:
            if 0<=x+dirrect[0]<n and 0<=y+dirrect[1]<m and [x+dirrect[0],y+dirrect[1]] not in visited:
                if map_[x+dirrect[0]][y+dirrect[1]] != 2:
                    dic[(x+dirrect[0],y+dirrect[1])] = dic[(x,y)] + 1
                    visited.append([x+dirrect[0],y+dirrect[1]])
                    queue.append([x+dirrect[0],y+dirrect[1]])
                    if map_[x+dirrect[0]][y+dirrect[1]] == 1:
                        ans.append(dic[(x+dirrect[0],y+dirrect[1])])
                else:
                    visited.append([x+dirrect[0],y+dirrect[1]])
    return ans

dirrection = ((1,0), (0,1), (-1,0), (0,-1))
n,m = map(int,input().split())
map_ = []
for i in range (n):
    map_.append(list(map(int,input().split())))
ans = bfs()
if ans:
    for i in ans:
        print(i)
else:
    print("嘉油!")
 
CODE如上
想請教各位大大哪裡能改進
 
ZeroJudge Forum