1.4.2 The Clocks 时钟

提交数: 64, 通过率: 39.06%, 平均分: 39.23

题目描述:

1.4.2The Clocks (clocks)

(clocks.pas/c/cpp)

考虑将如此安排在一个 3 x 3 行列中的九个时钟:

  |-------|    |-------|    |-------|
  |       |    |       |    |   |   |
  |---o   |    |---o   |    |   o   |
  |       |    |       |    |       |
  |-------|    |-------|    |-------|
      A            B            C

  |-------|    |-------|    |-------|
  |       |    |       |    |       |
  |   o   |    |   o   |    |   o   |
  |   |   |    |   |   |    |   |   |
  |-------|    |-------|    |-------|
      D            E            F

  |-------|    |-------|    |-------|
  |       |    |       |    |       |
  |   o   |    |   o---|    |   o   |
  |   |   |    |       |    |   |   |
  |-------|    |-------|    |-------|
      G            H            I


目标要找一个最小的移动顺序将所有的指针指向12点。下面原表格列出了9种不同的旋转指针的方法,每一种方法都叫一次移动。选择1到9号移动方法,将会使在表格中对应的时钟的指针顺时针旋转90度。

移动方法  受影响的时钟 
1        ABDE
2        ABC
3        BCEF
4        ADG
5        BDEFH
6        CFI
7        DEGH
8        GHI
9        EFHI

Example

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

[但这可能不是正确的方法,请看下面]

PROGRAM NAME: clocks

(file clocks.out)

单独的一行包括一个用空格分开的将所有指针指向12:00的最短移动顺序的列表。

如果有数字最小的方案。(举例来说5 2 4 6 < 9 3 1 1)。

SAMPLE INPUT

9 9 12
6 6 6
6 3 6

SAMPLE OUTPUT

4 5 8 9
时间限制: 1000ms
空间限制: 128MB

来源: USACO-第1章.入门