1. 程式人生 > >一大堆的福利之【USACO題庫】The Clocks

一大堆的福利之【USACO題庫】The Clocks

考慮將如此安排在一個 3 x3 行列中的九個時鐘:


|-------|    |-------|    |-------|

|       |    |       |    |   |   |

|---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


INPUT FORMAT









第1-3行: 三個空格分開的數字,每個數字表示一個時鐘的初始時間,3,6,9,12。

數字的含意和上面第一個例子一樣。


SAMPLE INPUT (file clocks.in)


9 9 12

6 6 6

6 3 6


OUTPUT FORMAT


單獨的一行包括一個用空格分開的將所有指標指向12:00的最短移動順序的列表。

如果有多種方案,輸出那種使的連線起來數字最小的方案。(舉例來說5 2 4 6 < 9 3 1 1)。


SAMPLE OUTPUT (file clocks.out)


4 5 8 9