สมมติว่าเรามีพิกัดสองจุดบนกระดานหมากรุกสำหรับ queen และ opponent จุดเหล่านี้คือ Q และ O ตามลำดับ เราต้องตรวจสอบว่า queen สามารถโจมตี opponent ได้หรือไม่ ตามที่เรารู้ queen โจมตีได้ในแถวเดียวกัน คอลัมน์เดียวกัน และแนวทแยงมุม
เช่น ถ้าอินพุตเป็น Q = (1, 1), O = (4, 4) ผลลัพธ์จะเป็น True เนื่องจาก Q สามารถไป (4, 4) แบบแนวทแยงมุมได้

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:
- ถ้า x ของ Q เท่ากับ x ของ O แล้ว
- คืนค่า True
- ถ้า y ของ Q เท่ากับ y ของ O แล้ว
- คืนค่า True
- ถ้า |x ของ Q - x ของ O| เท่ากับ |y ของ Q - y ของ O| แล้ว
- คืนค่า True
- คืนค่า False
ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:
ตัวอย่าง
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))
อินพุต
(1, 1), (4, 4)
ผลลัพธ์
True