CSES 3213 - Water Containers Moves
1.0s 512M有兩個水容器:容器 \(A\) 的容量是 \(a\),容器 \(B\) 的容量是 \(b\)。你想要用這兩個容器量出 \(x\) 單位的水。
一開始兩個容器都是空的。每個操作可以把一個容器裝滿、把一個容器倒空,或是把水從一個容器倒進另一個容器。倒水的時候,必須倒到至少有一個容器被裝滿或被倒空。所有操作結束後,容器 \(A\) 裡必須有 \(x\) 單位的水。
請找出一組移動水量總和最小的操作序列,或者判定無法量出這些水。
輸入格式
唯一一行有三個整數 \(a\)、\(b\) 和 \(x\)。
輸出格式
先輸出兩個整數 \(n\) 和 \(m\):操作的數量與移動的水量總和。接著輸出 \(n\) 個操作。每個操作都必須移動至少一單位的水,並且是下列之一:
FILL A:把容器 \(A\) 裝滿FILL B:把容器 \(B\) 裝滿EMPTY A:把容器 \(A\) 倒空EMPTY B:把容器 \(B\) 倒空MOVE A B:把水從容器 \(A\) 倒進容器 \(B\)MOVE B A:把水從容器 \(B\) 倒進容器 \(A\)
如果無法量出這些水,只要輸出 \(-1\)。
範例輸入 1
5 3 4
範例輸出 1
6 19
FILL A
MOVE A B
EMPTY B
MOVE A B
FILL A
MOVE A B
限制
- \(1 \le a, b, x \le 1000\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入