Acwing:武士风度的牛(BFS Python)

题目链接:188. 武士风度的牛 - AcWing题库

分析:BFS 找到K的坐标 以八个方向进行广搜 若该点为"." 则修改为"*"以防止重复搜索。

C,R = map(int,input().split())

Map = []

for i in range(R) :
    Map.append(list(input()))
    
def bfs(x,y) :
    queue = [(x,y)]
    cnt = 0
    Map[x][y] = '*' 
    while queue :
        cnt += 1
        length = len(queue) 
        for _ in range(length) :
            nx,ny = queue.pop(0)
            for i,j in [[1,2],[1,-2],[2,1],[-2,1],[-2,-1],[2,-1],[-1,-2],[-1,2]] :
                px = nx + i
                py = ny + j
                if 0<=px

你可能感兴趣的:(AcWing,宽度优先,算法,python)