题目描述
假定两个水壶A和B,供水量不限。可以使用三种方法装水:
给一个水壶装水;
把一个水壶倒空;
从一个水壶倒进另一个水壶。
当从一个水壶倒进另一个水壶时,如果第一个水壶倒空,或者第二个水壶装满就不能再倒了。例如,一个水壶A是5加仑和另一个水壶B是6加仑,水量是8加仑,则从水壶A倒进水壶B时,让水壶B充满水而水壶A剩3加仑水。
问题由3个参数:C_aC a,C_bC b
和N,分别表示水壶A和B的容量,目标水量N。解决问题的目标是,给出一系列倒水的步骤,使水壶B中的水量恰好是N。
输入输出格式
输入格式:
第一行为数据组数T。
接下来的TT行,每行三个数字C_aC a,C_bC b和N,意义如题目所示。T不超过30组,0<C_a≤Cb0<C ≤Cb,N≤C_b≤1000N≤C
b≤1000,且C_aC
a 和C_bC
b 互质。
输出格式:
输出共为T行,第一个数字为要达成的完成次数a_ia i(题目保证存在解)。接下来a_ia i
个数字,表示各种操作:
1操作:fill A 意为给AA灌满水
2操作:fill B
3操作:empty A 意为将AA中水倒空
4操作:empty B
5操作:pour B A意为将BB中水倒到AA中(直到A满或者B中水没有剩余)
6操作:pour A B
输入输出样例
输入样例#1
2
3 5 4
5 7 3
输出样