#USACO1654. 时钟
时钟
题目描述
考虑下面 9 个按照 阵列排列的时钟:
|-------| |-------| |-------|
| | | | | | |
|---O | |---O | | O |
| | | | | |
|-------| |-------| |-------|
A B C
|-------| |-------| |-------|
| | | | | |
| O | | O | | O |
| | | | | | | | |
|-------| |-------| |-------|
D E F
|-------| |-------| |-------|
| | | | | |
| O | | O---| | O |
| | | | | | | |
|-------| |-------| |-------|
G H I
我们的目标是找到一种移动次数最少的方案,使得上述九个时钟的指针都指向十二点钟位置。
下面给出了九种不同的转动指针的命令,执行一次某个命令被称作一次移动。
所有命令被编号为 ,每种命令都会使得一部分时钟收到影响,如下表所示:
命令编号 | 受影响时钟 |
---|---|
1 | ABDE |
2 | ABC |
3 | BCEF |
4 | ADG |
5 | BDEFH |
6 | CFI |
7 | DEGH |
8 | GHI |
9 | EFHI |
当我们执行某一命令时,受该命令影响的时钟的指针就会顺时针旋转 90 度。
例如,下图显示了一种将所有时钟都调至十二时的方案,矩阵中的每个数字表示一个时钟当前的指向时间。
9 9 12 9 12 12 9 12 12 12 12 12 12 12 12
6 6 6 5 -> 9 9 9 8-> 9 9 9 4 -> 12 9 9 9-> 12 12 12
6 3 6 6 6 6 9 9 9 12 9 9 12 12 12
该方案所执行命令依次为 5,8,4,9,移动四次后所有时钟均指向十二时。
注意,这只是一种可行方案,并不是我们所求的“正确答案”(具体可参照下面格式、样例)。
输入格式
共三行,每行三个整数,每个整数表示一个时钟初始时的指针指向时间。
输入中的整数只可能是 3,6,9,12,只有这四种可能的初始时间。
输出格式
输出移动次数最少的可行方案的执行命令序列。
如果答案不唯一,则将命令序列合在一起看作一个十进制整数,输出这个整数最小的方案。
9 9 12
6 6 6
6 3 6
4 5 8 9