证明:; k' N; B1 O9 O( t! c1 d3 |8 m7 ^
. n# \9 W$ l9 o5 V
" z1 }) T; j5 ^; r( r' c- Y, N9 C8 a6 E' S* a. U
假设作者在打乱拼图时,对每一列的转动次数为x1~x8,每一行的转动次数为y1~y8,那么每个方格转动的次数可以在上图这样表示出来。和前面的步骤一样,我们对全部方格的转动次数对4取模:& X# b: F5 Q3 K1 J7 O- H
' E# j7 y' ?$ {5 v& |5 [
; f8 i) \' y# j, j) ?' d) N/ o/ s& ?8 U, w
还是和刚才一样,我们随便选一列,譬如x5列为第一目标进行“归0”。以x5y1格为例,该格子现在的状态是(x5+y1) mod 4,那我们要调整y1多少次呢?设调整次数为Δ1,则:; x' ~( g0 _0 t4 v& J
((x5+y1)mod 4 +Δ1)mod 4 = 0
9 O+ P, @( x' D% X% j* ~. S
, e3 u# }3 t; A 因为:
7 `! N7 j* R$ V# N+ D) `5 }5 m. T (x5+y1)mod 4 < 4
" o" ^ h4 ^& W6 u0 `7 o
% U9 A* g& w" I5 Z 所以上面方程可转化为:
6 @1 X N" U) _* N (x5+y1)mod 4 +Δ1 = 4) u1 o: K: \ B2 x
/ a D5 C# i% \1 w$ L 所以调节次数Δ1等于:
- p6 O! a( l& R+ _5 P P/ ^+ ? Δ1 = 4 -(x5+y1)mod 4
2 z3 R W9 t3 {& _3 G8 _+ a5 G# \$ o v0 @
按照方程结果,旋转y1行Δ1次,则y1行全部方格的状态变为(全部列出太长了,截选一个方格来说明):$ ^, N& X6 X" R& c
x1y1方格:
/ Y8 W8 b: e! h- \. d" E (x1+y1) mod 4 + 4 -(x5+y1)mod 43 U% p+ i" T$ T4 c- } p
) l: ] c: V6 N7 d0 B. h4 Z7 A( l, a
为了表示出方格状态,上式必须再对4取模:
! L$ c& a8 L& h9 N% B% f+ F6 F% S ((x1+y1) mod 4 + 4 -(x5+y1)mod 4)mod 4
4 s/ u8 V6 \; U3 d
8 n$ ]# n6 `) _* t h 简化一下:
9 b ^8 P ~4 s* t5 q0 v. b (x1+y1 - x5 - y1) mod 43 j; f) r6 A% ]
0 O: C6 l3 k- T, d3 T( Z9 f
于是x1y1的状态为:$ X; n0 M- k% t7 K5 t
(x1 - x5) mod 4& z: ]- {- M" A
" l' E2 G* \9 N6 l 同理我们可以得到调整后y1行全部方块的状态如下:: D0 m5 B' X. m. o6 }" }
4 @4 s. }7 A. s( U
- Z* g& f$ }* e( q
1 c* R" T1 }" `' b9 r0 s! ~同样的方法,我们可以算出y2~y8行的旋转次数Δ2~Δ8,并使整个矩阵的状态变为:
" F, b* O% k. V& u! {, v' I5 x2 j0 u A5 R: c a
+ F( o8 O; z+ c8 q0 g9 l& W h4 z5 D
4 b8 U# C0 P' E, }0 U& x
可以清楚看到,现在同一列上的方格都处在同一状态之下,这和我们实例中的结果是一致的。证毕!
4 [0 z5 O' u8 r- c" |! }
+ ~0 b+ a9 t. P) o9 t3 k0 F) v$ H. q. K6 P& s6 ^$ {6 o I
好了,这条迷题的分析只能到这里为止,实际上我们分析的只是这一类迷题中格子的旋转规律,通过这种规律总结出一般的方法,使用此方法可以迅速把迷题调节到解决状态,但前提是我们事先知道“解决状态”的图案。3 Y6 P _5 D% B* y+ M, m1 S
' W$ }% U9 O E- R: c H 所以,很遗憾,虽然我们找到旋转规律,却仍无法解决破箱人这道迷题,因为刚刚面对时我们跟本不知道“解决状态”是什么样子的。呵呵~我们架起了桥梁,可不知道对岸在哪。这个问题小弟实在还没解决,请高手来指教了! |