排版游戏的解决方案(一种魔方)
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空