← すべての問題
中程度プログラミング

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) 時間と追加のメモリを使用します。

Pythonチェス条件式

プラットフォーム

  • MAXIMUM

今すぐダウンロードして、自分の課題で無料で試そう!

Windows版をダウンロード
10 15 クレジット無料 • クレジットカード不要バージョン: 読み込み中…

インストール不要 - ダウンロードして起動。登録不要 - Googleでログイン。