问题 23207 --时钟问题

23207: 时钟问题

时间限制: 1 Sec  内存限制: 128 MB
提交: 4  解决: 4
[提交][状态][讨论版][命题人:]

题目描述

 
在2008北京奥运会雄伟的主会场的墙上,挂着如图所示的3*3的九个挂钟(按行编号依次为ABCDEFGHI,一开始指针即时针指向的位置请根据输入数据调整)。然而此次奥运会给予了大家一个机会,去用最少的移动操作改变上面的挂钟的时间全部为12点正(我们只考虑时针)。然而每一次操作并不是任意的,我们必须按照下面给出的列表对于挂钟进行改变。每一次操作我们给而且必须给指定的操作挂钟进行,每一个挂钟顺时针转动90度。列表如下: 
   操作   指定的操作挂钟
     1         ABDE
     2         ABC
     3         BCEF
     4         ADG
     5         BDEFH
     6         CFI
     7         DEGH
     8         GHI
     9         EFHI
 
  输出一个最短的移动序列(数字序列),该序列要使所有的时钟指针指向12点,若有等价的多个解,需给出符合要求的一个解.

输入

程序按照标准的3*3格式读入,一共9个0-3的数。0代表12点,1代表3点,2代表6点,3代表9点。

输出

输出一个最短的能够使所有挂钟指向12点的移动操作序列,中间以空格隔开,最后一个数据后有一个空格,加回车。这一条最短操作需要是所有最短操作中最小的,也就是说选择最小的第一个操作数,如果第一个操作数相等,那么选择最小的第二个操作数……以此类推。值得肯定的是,这一条操作序列是唯一的。

样例输入

3 3 0
2 2 2
2 1 2

样例输出

4 5 8 9

来源

 

[提交][状态]