Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าเดินจาก (0,0) ไป (x,y) ใน N Steps ได้หรือไม่ด้วย Python


มีจุด (x,y) และ n ต้องเช็คว่าเดินจาก (0,0) ไป (x,y) ใน n Steps ได้หรือไม่ (เดินได้ 4 ทิศทาง)

เช่น Input p = (2, 1), n = 3 Output True (Right 2, Up 1)

ขั้นตอนแก้:

  • Min Steps = |x| + |y| (Manhattan Distance)
  • ต้อง n >= Min Steps และ (n - Min Steps) ต้องเป็นเลขคู่ (เพื่อเดินไป-กลับชดเชย)

ตัวอย่างโค้ด

def solve(p, n):
    if n >= abs(p[0]) + abs(p[1]) and (n - (abs(p[0]) + abs(p[1]))) % 2 == 0:
        return True
    return False

p = (2, 1)
n = 3
print(solve(p, n))

Input

(2, 1), 3

Output

True