Giả sử chúng ta có hai tọa độ trên bàn cờ cho Hậu (Queen) và đối thủ (Opponent). Các điểm là Q và O. Cần kiểm tra xem Hậu có thể tấn công đối thủ hay không. Hậu tấn công cùng hàng, cùng cột và đường chéo.
Ví dụ, Q = (1, 1), O = (4, 4), đầu ra True vì Hậu đi chéo đến (4, 4).
Các bước giải quyết:
- Nếu x của Q == x của O, trả về True (cùng cột).
- Nếu y của Q == y của O, trả về True (cùng hàng).
- Nếu |x_Q - x_O| == |y_Q - y_O|, trả về True (đường chéo).
- Trả về False.
Xem ví dụ dưới đây để hiểu rõ hơn:
Ví dụ
def solve(Q, O):
if Q[0] == O[0]:
return True
if Q[1] == O[1]:
return True
if abs(Q[0] - O[0]) == abs(Q[1] - O[1]):
return True
return False
Q = (1, 1)
O = (4, 4)
print(solve(Q, O))
Đầu vào
(1, 1), (4, 4)
Đầu ra
True