def valid_positions(grid, R, xt, yt):
n, m = len(grid), len(grid[0])
valid_coords = []
for x in range(n):
for y in range(m):
if grid[x][y] == '0': # 空地位置
too_close = False
for i in range(n):
for j in range(m):
if grid[i][j] == '1': # 楼房位置
if abs(x - i) + abs(y - j) <= R:
too_close = True
break
if too_close:
break
if not too_close and abs(x - xt) + abs(y - yt) <= R:
valid_coords.append((x, y))
return valid_coords
# 范例输入
n, m, R = 4, 5, 2
grid = [
"01000",
"00010",
"00200",
"00001"
]
xt, yt = 2, 2 # 大楼需要修建的位置
# 调用函数
coords = valid_positions(grid, R, xt, yt)
print(f"共有 {len(coords)} 个塔吊的座标,分别是:{coords}")
谢谢,QaQ.