สมมติว่าเรามีพิกัดสองอันบนกระดานหมากรุกสำหรับราชินีและคู่ต่อสู้ จุดเหล่านี้คือ Q และ O ตามลำดับ เราต้องตรวจสอบว่าราชินีสามารถโจมตีคู่ต่อสู้ได้หรือไม่ อย่างที่เราทราบดีว่าราชินีสามารถโจมตีในแถวเดียวกัน แนวเดียวกัน และแนวทแยงได้
ดังนั้น หากอินพุตเป็นเหมือน 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
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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