← Toutes les questions
MoyenProgrammation

Comment Python peut-il vérifier si une tour peut se déplacer entre deux cases en un seul mouvement ?

Réponse courte
Une tour peut le faire si les cases partagent un fichier ou un rang : x1 == x2 or y1 == y2.

Question

Étant donné deux cases d'échiquier distinctes, déterminez si une tour peut passer de la première à la seconde en un seul mouvement. Ignorez les obstructions causées par d’autres pièces.

Entrée

Quatre entiers de 1 à 8 : la file et le rang du premier carré, suivis de ceux du second. Les numéros peuvent figurer sur des lignes distinctes.

Sortie

Imprimez YES si le déménagement est possible ; sinon, imprimez NO.

Exemples

Numéros d'entrée Sortie
6 6 8 8 NON
1 4 7 4 OUI
2 6 2 1 OUI

Explication

Une tour se déplace verticalement ou horizontalement. Vérifiez si les coordonnées du fichier ou les coordonnées du classement sont égales. La déclaration garantit que les carrés sont distincts.

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() gère à la fois les espaces et les sauts de ligne. Pour les quatre coordonnées fixes, le programme utilise le temps O(1) et la mémoire supplémentaire.

Expressions conditionnellesPythonÉchecs

Plateformes

  • MAXIMUM

Téléchargez maintenant et essayez gratuitement sur vos propres tâches !

Télécharger pour Windows
10 15 crédits gratuits • Aucune carte bancaire requiseVersion: Chargement…

Sans installation - télécharge et lance. Sans inscription - connexion avec Google.