CSES - Water Containers Moves | Các bước với bình nước
Xem PDFCó hai bình nước: bình \(A\) có dung tích \(a\) và bình \(B\) có dung tích \(b\). Bạn muốn đong \(x\) đơn vị nước bằng các bình này.
Ban đầu cả hai bình đều rỗng. Ở mỗi bước, bạn có thể đổ đầy một bình, làm rỗng một bình hoặc chuyển nước từ một bình sang bình khác. Khi chuyển nước, bạn luôn phải làm đầy hoặc làm rỗng ít nhất một bình. Sau các bước, bình \(A\) phải có \(x\) đơn vị nước.
Hãy tìm một dãy bước sao cho tổng lượng nước được di chuyển là nhỏ nhất, hoặc cho biết rằng không thể đong được lượng nước đó.
Đầu vào
Dòng duy nhất chứa ba số nguyên \(a\), \(b\) và \(x\).
Đầu ra
Đầu tiên in hai số nguyên \(n\) và \(m\): số bước và tổng lượng nước được di chuyển. Sau đó in một dãy gồm \(n\) bước. Mỗi bước phải di chuyển ít nhất một đơn vị nước và là một trong các dạng sau:
-
FILL A: đổ đầy bình \(A\) -
FILL B: đổ đầy bình \(B\) -
EMPTY A: làm rỗng bình \(A\) -
EMPTY B: làm rỗng bình \(B\) -
MOVE A B: chuyển nước từ bình \(A\) sang bình \(B\) -
MOVE B A: chuyển nước từ bình \(B\) sang bình \(A\)
Nếu không thể đong được lượng nước đó, chỉ in \(-1\).
Constraints
- \(1 \le a, b, x \le 1000\)
Example
Test 1
Input
5 3 4
Output
6 19
FILL A
MOVE A B
EMPTY B
MOVE A B
FILL A
MOVE A B
Bình luận