ปานกลาง 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

Empty Two Coin Piles

Decide whether paired removals can empty two piles.

สิ่งที่คุณจะได้เรียนรู้

  • Turn a process into equations
  • Check divisibility and balance conditions
  • Answer in constant time

โจทย์

ดูฉบับแปล

Each move removes two coins from one pile and one coin from the other. Either orientation is allowed. You may never remove more coins than remain. Determine whether both piles can end at zero.

Implement coin_piles(left, right).

Input

left: The number of coins in the left pile.

right: The number of coins in the right pile.

Output

Return true if the piles can both be emptied; otherwise return false.

เงื่อนไข

0 ≤ left, right ≤ 1,000,000,000. Two empty piles are already a successful result.

ตัวอย่าง

ตัวอย่างที่ 1
อินพุต:
left = 4
right = 2

ผลลัพธ์ที่คาดหวัง:
expected = True
อินพุต:
long long left = 4;
long long right = 2;

ผลลัพธ์ที่คาดหวัง:
bool expected = true;
อินพุต:
long left = 4;
long right = 2;

ผลลัพธ์ที่คาดหวัง:
bool expected = true;

คำอธิบาย

Remove (2, 1) twice: (4, 2) → (2, 1) → (0, 0).

ตัวอย่างที่ 2
อินพุต:
left = 4
right = 1

ผลลัพธ์ที่คาดหวัง:
expected = False
อินพุต:
long long left = 4;
long long right = 1;

ผลลัพธ์ที่คาดหวัง:
bool expected = false;
อินพุต:
long left = 4;
long right = 1;

ผลลัพธ์ที่คาดหวัง:
bool expected = false;

คำอธิบาย

The only possible first move leaves (2, 0), after which no move can empty the left pile.

แนวทางการแก้

ลองทำเองก่อน แล้วค่อยเปิดคำใบ้ทีละข้อ

คำใบ้ 1

Each move removes exactly three coins total, so the overall coin count must fit that pattern.

คำใบ้ 2

Neither pile can be reduced below zero, so one pile cannot exceed what the other can support.

คำใบ้ 3

Check both the total amount and the difference between piles.

ความซับซ้อนที่คาดหวัง

O(1) time, O(1) extra space

แหล่งอ้างอิง

โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก