第一题铺设光缆问题
bfs求最短路问题
n = int(input())
m = int(input())
startx, starty = map(int, input().split())
endx, endy = map(int, input().split())
block = set()
# arr = [[0 for _ in range(m)] for _ in range(n)] # 初始化地图矩阵
k = int(input()) # 障碍点数量
for _ in range(k):
x, y = map(int, input().split())
block.add((x, y)) # 标记障碍点
dist = [[-1 for _ in range(m)] for _ in range(n)]
dist[startx][starty] = 0
q = [(startx, starty)]
while q:
curx, cury = q.pop(0)
for nxtx, nxty in [(curx-1, cury), (curx+1, cury), (curx, cury-1), (curx, cury+1)]:
if 0<=nxtx<n and 0<=nxty<m and ((nxtx, nxty) not in block) and (dist[nxtx][nxty]==-1):
dist[nxt