← Tutte le domande
MediaProgrammazione

Come può Python verificare se una torre può muoversi tra due case in una mossa?

Risposta breve
Una torre può farlo se le case condividono una file o rango: x1 == x2 or y1 == y2.

Domanda

Date due case distinte della scacchiera, determinare se una torre può muoversi dalla prima alla seconda in una mossa. Ignora le ostruzioni di altri pezzi.

Ingresso

Quattro numeri interi da 1 a 8: il file e il rango del primo quadrato, seguiti da quelli del secondo. I numeri possono trovarsi su righe separate.

Uscita

Stampa YES se lo spostamento è possibile; altrimenti stampa NO.

Esempi

Immettere i numeri Uscita
6 6 8 8 NO
1 4 7 4 SI
2 6 2 1 SI

Spiegazione

Una torre si muove verticalmente o orizzontalmente. Controlla se le coordinate del file o le coordinate del rango sono uguali. La dichiarazione garantisce che i quadrati siano distinti.

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() gestisce sia gli spazi che le interruzioni di riga. Per le quattro coordinate fisse, il programma utilizza l'ora O(1) e memoria aggiuntiva.

Espressioni condizionaliPythonScacchi

Piattaforme

  • MAXIMUM

Scarica subito e provalo gratis per le tue attività!

Scarica per Windows
10 15 crediti gratuiti • Nessuna carta di credito richiestaVersione: Caricamento…

Senza installazione - scarica e avvia. Senza registrazione - accedi con Google.