Trung bình 0 đã giải Tỷ lệ chấp nhận 0%

Làm Rỗng Hai Chồng Xu

Quyết định xem có thể làm rỗng cả hai chồng bằng các lượt lấy cặp xu hay không.

Bạn sẽ học được gì

  • Biến một quá trình thành phương trình
  • Kiểm tra điều kiện chia hết và cân bằng
  • Trả lời trong thời gian hằng

Đề bài

Xem bản gốc (English)

Mỗi lượt, bạn lấy hai xu từ một chồng và một xu từ chồng còn lại. Có thể chọn bất kỳ chiều nào. Không bao giờ được lấy nhiều xu hơn số còn lại trong chồng. Hãy xác định liệu cả hai chồng có thể cùng về 0 hay không.

Cài đặt hàm coin_piles(left, right).

Đầu vào

left: Số xu trong chồng bên trái.

right: Số xu trong chồng bên phải.

Đầu ra

Trả về true nếu có thể làm rỗng cả hai chồng; ngược lại trả về false.

Ràng buộc

0 ≤ left, right ≤ 1.000.000.000. Hai chồng đã rỗng được xem là kết quả thành công.

Ví dụ

Ví dụ 1
Đầu vào:
left = 4
right = 2

Kết quả mong đợi:
expected = True
Đầu vào:
long long left = 4;
long long right = 2;

Kết quả mong đợi:
bool expected = true;
Đầu vào:
long left = 4;
long right = 2;

Kết quả mong đợi:
bool expected = true;

Giải thích

Lấy (2, 1) hai lần: (4, 2) → (2, 1) → (0, 0).

Ví dụ 2
Đầu vào:
left = 4
right = 1

Kết quả mong đợi:
expected = False
Đầu vào:
long long left = 4;
long long right = 1;

Kết quả mong đợi:
bool expected = false;
Đầu vào:
long left = 4;
long right = 1;

Kết quả mong đợi:
bool expected = false;

Giải thích

Nước đi duy nhất đầu tiên để lại (2, 0), sau đó không còn cách nào để làm rỗng chồng bên trái.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Mỗi lượt lấy đi đúng 3 đồng xu tổng cộng, nên tổng số xu phải khớp với mẫu đó.

Gợi ý 2

Không cọc nào được giảm xuống dưới 0, nên một cọc không thể lớn hơn mức cọc kia có thể hỗ trợ.

Gợi ý 3

Hãy kiểm tra cả tổng số lẫn hiệu giữa hai cọc.

Độ phức tạp mong đợi

thời gian O(1), bộ nhớ phụ O(1)

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.