Python->C++求助帖(#3)
  • 板块灌水区
  • 楼主Nostopathy
  • 当前回复10
  • 已保存回复12
  • 发布时间2024/4/4 16:22
  • 上次更新2024/4/4 18:39:09
查看原帖
Python->C++求助帖(#3)
1286053
Nostopathy楼主2024/4/4 16:22
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.

2024/4/4 16:22
加载中...