← 所有题目
中等编程

Python 如何判断一辆车是否能在一步内从一个棋盘格移动到另一个棋盘格?

简短答案
如果两个格子共享同一个纵列或横行,车就能这样移动:x1 == x2 or y1 == y2。

问题

给定两个不同的国际象棋棋盘格,判断车是否能在一步内从第一个格子移动到第二个格子。忽略其他棋子的阻挡。

输入

四个从 1 到 8 的整数:第一个格子的纵列和横行,以及第二个格子的纵列和横行。数字可以分行输入。

输出

如果可以移动,输出 YES;否则输出 NO。

示例

输入数字 输出
6 6 8 8 NO
1 4 7 4 YES
2 6 2 1 YES

解释

车只能沿竖直或水平方向移动。检查纵列坐标或横行坐标是否相等。题目保证两个格子不同。

import sys

x1, y1, x2, y2 = map(int, sys.stdin.read().split())
print('YES' if x1 == x2 or y1 == y2 else 'NO')

sys.stdin.read().split() 可以同时处理空格和换行。对于固定的四个坐标,程序使用 O(1) 时间和额外内存。

Python国际象棋条件表达式

平台

  • MAXIMUM

立即下载,免费试用,解决你的任务!

下载 Windows 版
10 15 个免费积分 • 无需信用卡版本: 加载中…

免安装 - 下载即用。免注册 - 用 Google 登录。