Python 实现皇后攻击棋盘上给定格子的检查
假设我们有皇后和对手在棋盘上的两个坐标。这些点分别是Q和O。我们必须检查皇后是否可以攻击对手。众所周知,皇后可以在同一行、同一列和对角线上攻击。
因此,如果输入类似于Q = (1, 1) O = (4, 4),则输出为True,因为Q可以对角线移动到(4, 4)。
为了解决这个问题,我们将遵循以下步骤:
- 如果Q的x坐标与O的x坐标相同,则
- 返回True
- 如果Q的y坐标与O的y坐标相同,则
- 返回True
- 如果|Q的x坐标 - O的x坐标| 等于 |Q的y坐标 - O的y坐标|,则
- 返回True
- 返回True
让我们看看下面的实现,以便更好地理解:
示例
def solve(Q, O): if Q[0] == O[0]: return True if Q[1] == O[1]: return True if abs(Q[0] - O[0]) == abs(Q[1] - O[1]): return True return False Q = (1, 1) O = (4, 4) print(solve(Q, O))
输入
(1, 1), (4, 4)
输出
True
广告