#T2356. 水容器·移动(Water Containers Moves)

水容器·移动(Water Containers Moves)

链接: https://cses.fi/problemset/task/3213

板块: Additional Problems I

时限: 1.00 s | 内存: 512 MB

题目描述

有两个水容器:容器 A 的容积为 aa,容器 B 的容积为 bb。你想用这些容器量出 xx 单位的水。

初始时两个容器都为空。每一步,你可以装满一个容器、倒空一个容器,或将水从一个容器移到另一个容器。当你移动水时,必须至少装满或倒空一个容器。移动结束后,容器 A 必须装有 xx 单位的水。

找出一个移动序列,使得移动的水的总量最小;或者说明无法量出该水量。

输入

唯一的一行包含三个整数 aabbxx

输出

首先输出两个整数 nnmm:移动的次数和移动的水的总量。之后输出一个由 nn 次移动组成的序列。每次移动必须至少移动一个单位的水,且为以下之一:

  • FILL A:装满容器 A
  • FILL B:装满容器 B
  • EMPTY A:倒空容器 A
  • EMPTY B:倒空容器 B
  • MOVE A B:将水从容器 A 移到容器 B
  • MOVE B A:将水从容器 B 移到容器 A

如果无法量出该水量,只输出 1-1

数据范围

1a,b,x10001 \le a, b, x \le 1000

样例输入

5 3 4

样例输出

6 19
FILL A
MOVE A B
EMPTY B
MOVE A B
FILL A
MOVE A B