¿Cómo puede Python comprobar si una torre puede moverse entre dos casillas en un solo movimiento?
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.
Plataformas
- MAXIMUM
