Python решение Задача «Ход ферзя»

Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ферзь попасть с первой клетки на вторую одним ходом.

# First point
a = int(input())
b = int(input())

# Second point
aa = int(input())
bb = int(input())

# subtraction
sub_a = a - aa
sub_b = b - bb

if a == b == aa == bb:
    print('The same point')
elif a <= 0 or b <= 0 or aa <= 0 or bb <= 0 or a > 8 or aa > 8 or b > 8 or bb > 8:
    print('Error')
    
# diagonal
elif sub_a == sub_b or -sub_a == sub_b or sub_a == -sub_b:
    print('Yes')
    
# horizontal/vertical
elif a == aa or b == bb:
    print('Yes')
else:
    print('No')

Что бы избавится в условии от минусов, можно использовать не abs, а как указано в примере к занятию/уроку через присвоение значения переменной, если она меньше нуля. Реализовано в примере про решение задачи Ход коня здесь.

Leave a Reply

Your email address will not be published. Required fields are marked *

*