证明:$ V1 _0 S Y9 t
+ K, H8 z! }- D6 N4 d3 h* G( d# f6 a% K
) E ~- S3 d% \1 K 假设作者在打乱拼图时,对每一列的转动次数为x1~x8,每一行的转动次数为y1~y8,那么每个方格转动的次数可以在上图这样表示出来。和前面的步骤一样,我们对全部方格的转动次数对4取模:" H- T" w, \ B' ]) C9 U. t7 S
, N0 ]; h/ ?1 c1 }
" S, m* _" V- L; v& W: ^( t- B
5 P2 D& Q/ }) y* n
还是和刚才一样,我们随便选一列,譬如x5列为第一目标进行“归0”。以x5y1格为例,该格子现在的状态是(x5+y1) mod 4,那我们要调整y1多少次呢?设调整次数为Δ1,则:
* W; v8 s0 |! K5 V- R8 b ((x5+y1)mod 4 +Δ1)mod 4 = 0
. H, n* K# }7 W+ ^, Y: w
* M( n: w. R, v, q9 g 因为:% N6 v& r l0 d S3 ]
(x5+y1)mod 4 < 4) W$ }, `2 @% H$ D
6 _: l6 i8 ?- M7 k 所以上面方程可转化为:6 W8 s8 C8 }9 H, a1 u! L
(x5+y1)mod 4 +Δ1 = 4
: n, M0 ~" H/ l. B! |5 K1 j# W, H; M5 Y0 z, Z( w% H% u
所以调节次数Δ1等于:7 R0 ^6 B1 g$ P, n3 t3 m1 H6 b6 v
Δ1 = 4 -(x5+y1)mod 4
2 H2 n2 }/ ?# t' O+ [! z7 X0 S* I
8 X& Y8 n6 L' q' @' J& F7 \ 按照方程结果,旋转y1行Δ1次,则y1行全部方格的状态变为(全部列出太长了,截选一个方格来说明):
) `- l8 f0 R" B* k4 g3 ^ x1y1方格:
0 w3 [9 F, }, f( t r (x1+y1) mod 4 + 4 -(x5+y1)mod 4$ G) B* Z& P% `8 f2 ?, Z8 H& u$ D
0 k" x9 {& W5 B& s/ B3 k
为了表示出方格状态,上式必须再对4取模:
0 b! v* [3 u$ ?; K# d' M ((x1+y1) mod 4 + 4 -(x5+y1)mod 4)mod 4
& T, c4 V( T* C* _$ D4 i x; B
9 q# z9 d3 e) l, ~; R) O1 F 简化一下:
/ @# A2 f( ~; A* m, Y ~ (x1+y1 - x5 - y1) mod 4% ]1 z- E: V* E, N; K0 X
* d: E& ]6 y; r- o% I/ u5 N
于是x1y1的状态为: C/ ]* y8 T2 B3 {& @7 n! t* H# l& Q
(x1 - x5) mod 4
4 k1 j$ `- }1 N& ^. O6 N- m0 l
1 F$ r7 q5 H; a( `8 C7 X 同理我们可以得到调整后y1行全部方块的状态如下:
( U% o2 ~% k4 B* z7 q* i }
% [8 I& b) \2 j L3 q0 }0 J: X) y( ]% r8 f1 P7 H( M
h9 W6 o: Y) Z# ]4 Z% O! v3 y5 A同样的方法,我们可以算出y2~y8行的旋转次数Δ2~Δ8,并使整个矩阵的状态变为:
9 l; R0 ~" U' }$ {
; N9 |- M( M% W7 L; S
/ q! k+ `; U; f
( T7 Y3 q; k5 f$ r7 l H, E& p" V 可以清楚看到,现在同一列上的方格都处在同一状态之下,这和我们实例中的结果是一致的。证毕!
& W4 e2 q( g5 q
! Q1 i1 ~$ S6 {/ w' |1 L( Y, k
& S" { y/ R% a7 E1 X: O 好了,这条迷题的分析只能到这里为止,实际上我们分析的只是这一类迷题中格子的旋转规律,通过这种规律总结出一般的方法,使用此方法可以迅速把迷题调节到解决状态,但前提是我们事先知道“解决状态”的图案。
6 d% O0 T+ z* N# i8 g* X
c, o6 w$ [/ g- A& C- ?9 ] 所以,很遗憾,虽然我们找到旋转规律,却仍无法解决破箱人这道迷题,因为刚刚面对时我们跟本不知道“解决状态”是什么样子的。呵呵~我们架起了桥梁,可不知道对岸在哪。这个问题小弟实在还没解决,请高手来指教了! |