← Todas las preguntas
MediaProgramación

¿Cómo puede Python comprobar si una torre puede moverse entre dos casillas en un solo movimiento?

Respuesta breve
Una torre puede hacerlo si las casillas comparten un archivo o una fila: x1 == x2 or y1 == y2.

Pregunta

Dadas dos casillas distintas del tablero de ajedrez, determina si una torre puede moverse de la primera a la segunda en un solo movimiento. Ignora las obstrucciones de otras piezas.

Entrada

Cuatro enteros de 1 a 8: el archivo y la fila de la primera casilla, seguidos por los de la segunda. Los números pueden estar en líneas separadas.

Salida

Imprime YES si el movimiento es posible; de lo contrario, imprime NO.

Ejemplos

Números de entrada Salida
6 6 8 8 NO
1 4 7 4 YES
2 6 2 1 YES

Explicación

Una torre se mueve vertical u horizontalmente. Comprueba si las coordenadas del archivo o las de la fila son iguales. El enunciado garantiza que las casillas son distintas.

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() maneja tanto espacios como saltos de línea. Para las cuatro coordenadas fijas, el programa usa O(1) de tiempo y memoria adicional.

AjedrezExpresiones condicionalesPython

Plataformas

  • MAXIMUM

¡Descárgalo ahora y pruébalo gratis con tus propias tareas!

Descargar para Windows
10 15 créditos gratis • No se requiere tarjeta de créditoVersión: Cargando…

Sin instalación - descarga y ejecuta. Sin registro - inicia sesión con Google.