时钟
题号:NC22906
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

考虑将如此安排在一个 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

输入描述:

第1-3行:

三个空格分开的数字,每个数字表示一个时钟的初始时间,3,6,9,12。

数字的含意和上面第一个例子一样。

输出描述:

单独的一行包括一个用空格分开的将所有指针指向12:00的最短移动顺序的列表。
如果有多种方案,输出那种使的连接起来数字最小的方案。(举例来说5
2 4 6 < 9 3 1 1)。
示例1

输入

复制
9 9 12
6 6 6
6 3 6

输出

复制
4 5 8 9