排版游戏的解决方案(一种魔方)

可以做到,但是很麻烦。

1 2 3 4

6 10空15

5 14 12 8

11 9 13 7

一个一个的把1 ~ 3串到正确的位置可以吗?每个人走的路都不一样,但是有一个通用的方法:相邻两个数的位置如何互换。以此类推,可以轻松实现1 ~ 11的归位。

以下情况:

1 2 3 4

5 6 8 7

12 11空10

14 9 13 15

如何交换8和7的位置:

第一步:在8和7之间插入一个随机数(下图是11)。

1 2 3 4

5 8 11 7

12 6 Null 10

14 9 13 15

第二步:将7移到另一行(8也是一样)。

1 2 3 4

5 8 11空

12 6 10 7

14 9 13 15

第三步:8和11接近7。

1 2 3 4

5空8 11

12 6 10 7

14 9 13 15

第四步:将7移到8的正下方。

1 2 3 4

5 6 8 11

12 10 7空

14 9 13 15

第五步:在7,8,11顺时针切换位置。

1 2 3 4

5 6 7 8

12 10空11

14 9 13 15

按顺序排1再排2。当出现刚好两个数需要换的情况时,用上面的方法,可以排到11。

1 2 3 4

5 6 7 8

9 10 11为空。

12 14 13 15

从12开始,虽然还是用上面的方法,但是因为其他位置的号码已经在正确的位置了,所以需要借用已经被“占用”的位置。当然,只要问题解决了,即使你移动了排列好的数字,你也会发现,你担心借用的“被占用”的位置,在成功交换了你要交换的数字的位置后,其实又回到了大家手中,所以用上面的换位就可以了。

1 2 3 4

5 6 7 8

9 11 10 12

13 15 14空

比如上面的10和11要转置,14和15要转置。

不考虑其他任何数字,但是看10和11,我们现在就想交换。

第一步:随意插入一个介于10和11之间的数字(你自然会选择附近的14)。

1 2 3 4

5 6 7 8

9 11 14 10

13 15空12

第二步:按照上面的方法转置10和11,这次选择换行11。

1 2 3 4

5 6 7 8

9 14 10空

13 11 15 12

第三步:14和10在11附近。

1 2 3 4

5 6 7 8

9 14 10空

13 11 15 12

第四步:12上移,11移至10下方。

1 2 3 4

5 6 7 8

9 14 10 12

13 Null 11 15

第五步:逆时针转置14,10,11。

1 2 3 4

5 6 7 8

9 10 11 12

13 14空15

成功:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15空