中程度プログラミング
Python では、ルークが 2 つのマスの間を 1 回の動きで移動できるかどうかをどのように確認できますか?
要点
ルークは、マス目が ファイルまたはランク:
x1 == x2 or y1 == y2 を共有している場合にそうすることができます。質問
2 つの異なるチェス盤のマスがある場合、ルークが 1 回の手で最初のマスから 2 番目のマスに移動できるかどうかを判断します。他の部分による障害物は無視してください。
入力
1 ~ 8 の 4 つの整数: 最初の四角形のファイルとランク、次に 2 番目の四角形のファイルとランク。数値は別の行に入力することもできます。
出力
移動が可能な場合は、YES を出力します。それ以外の場合は、NO を出力します。
例
| 数値を入力 | 出力 |
|---|---|
| 6 6 8 8 | いいえ |
| 1 4 7 4 | はい |
| 2 6 2 1 | はい |
説明
ルークは垂直または水平に動きます。ファイル座標またはランク座標が等しいかどうかを確認します。このステートメントは、正方形が区別できることを保証します。
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() はスペースと改行の両方を処理します。固定された 4 つの座標の場合、プログラムは O(1) 時間と追加のメモリを使用します。
プラットフォーム
- MAXIMUM
