#P11010. 拨钟问题

拨钟问题

题目描述

99 个时钟,排成一个 3×33 \times 3 的矩阵,如下面的示意图(时钟下方是该时钟的编号):

|-------|    |-------|    |-------|
|       |    |       |    |   |   |
|---O   |    |---O   |    |   O   |
|       |    |       |    |       |
|-------|    |-------|    |-------|
    A            B            C  

|-------|    |-------|    |-------|
|       |    |       |    |       |
|   O   |    |   O   |    |   O   |
|   |   |    |   |   |    |   |   |
|-------|    |-------|    |-------|
    D            E            F  

|-------|    |-------|    |-------|
|       |    |       |    |       |
|   O   |    |   O---|    |   O   |
|   |   |    |       |    |   |   |
|-------|    |-------|    |-------|
    G            H            I

共允许有 99 种不同的移动方法,如下表所示,每种移动方法会将影响的所有时钟的指针沿顺时针方向都拨动 9090 度:

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

现在需要找出一种移动策略,将 99 个时钟的指针都拨到 1212 点的位置。

输入格式

99 个 取自集合 0,90,180,270{0,90,180,270} 的整数,表示各时钟指针的起始位置(时针从 1212 点沿顺时钟方向旋转到当前位置经过的角度),相邻两个整数之间用单个空格隔开。可知,00 表示 1212 点、9090 表示 33 点、180180 表示 66 点、270270 表示 99 点。

输出格式

输出找到的一种移动策略,使得 99 个时钟的指针都指向 1212 点。按照使用所有移动方法的序号从小到大输出结果。相邻两个整数之间用单个空格隔开。

输入输出样例

270 270 0
180 180 180
180 90 180
4 5 8 9
0 0 0
0 0 0
0 0 90
2 2 3 4 4 5 6 7 8 9

说明/提示

👀️ 对于100%100\% 的数据,保证仅有唯一的一种移动策略。