Giả sử chúng ta có hai tọa độ trên bàn cờ vua và đối thủ. Các điểm này lần lượt là Q và O. Chúng ta phải kiểm tra xem nữ hoàng có thể tấn công đối thủ hay không. Như chúng ta biết rằng nữ hoàng có thể tấn công cùng hàng, cùng cột và theo đường chéo.
Vì vậy, nếu đầu vào là Q =(1, 1) O =(4, 4), thì đầu ra sẽ là Đúng vì Q có thể đi (4, 4) theo đường chéo.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu x của Q giống với x của O, thì
- trả về True
- nếu y của Q giống y của O thì
- trả về True
- nếu | x thuộc Q - x thuộc O | giống với | y của Q - y của O |, thì
- trả về True
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để 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