使用 Python 检查是否可以在 N 步内从 (0, 0) 移动到 (x, y)


假设我们有一个坐标点 (x, y) 和另一个值 n。我们必须检查是否可以使用 n 步从 (0, 0) 移动到 (x, y)。我们可以向左、右、上、下四个方向移动。

因此,如果输入类似于 p = (2, 1) n = 3,则输出将为 True,我们可以向右移动两步,然后向上移动一步。

为了解决这个问题,我们将遵循以下步骤 -

  • 如果 n >= |p 的 x| + |p 的 y| 且 (n -(|p 的 x| + |p 的 y|)) 为偶数,则
    • 返回 True
  • 返回 False

示例

让我们看看以下实现以获得更好的理解 -

 现场演示

def solve(p, n):
   if n >= abs(p[0]) + abs(p[1]) and (n - (abs(p[0]) + abs(p[1]))) % 2 == 0:
      return True
   return False
p = (2, 1)
n = 3
print(solve(p, n))

输入

(2, 1), 3

输出

True

更新于: 2021年1月18日

203 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告