《程序设计基础二》类的设计部分练习题目:1432--1446,运算符重载部分练习题目:1447--1461

Problem 2101. -- 拨钟问题

2101: 拨钟问题

Time Limit: 2 Sec  Memory Limit: 128 MB   64bit IO Format: %lld
Submitted: 455  Accepted: 114
[Submit][Status][Web Board]

Description

有9个时钟排成一个3*3的矩阵,从上到下从左到右依次标为ABCDEFGHI。
每个时钟只有1个时针,时针初始指向3、6、9或12点。
对每一个时钟的时针共允许有9种不同的移动,每个移动会将若干个时钟的指针沿顺时针方向拨动90度。
9种移动操作以及影响的时钟如下:
(1)ABDE  (2)ABC    (3)BCEF
(4)ADG   (5)BDEFH  (6)CFI
(7)DEGH  (8)GHI    (9)EFHI

现在需要用最少的移动,将9个时钟的指针都拨到12点的位置。

Input

多组测试数据,每组测试数据3行3列,共9个整数,表示各时钟指针的起始位置,相邻两个整数之间用1个空格隔开。其中,0=12点、1=3点、2=6点、3=9点。

Output

每组测试数据在一行中输出一个最短的移动序列,使得9个时钟的指针都指向12点。按照移动的序号从小到大输出结果。相邻两个整数之间用1个空格隔开。

Sample Input

3 3 0
2 2 2
2 1 2

Sample Output

4 5 8 9

[Submit][Status][Web Board]