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