证明:/ ~ p1 H( [: h o0 p
" h+ v! B o% n+ }$ w" U; M" n
' A" q- g% G% r( z
( ?. Y5 T+ t x
假设作者在打乱拼图时,对每一列的转动次数为x1~x8,每一行的转动次数为y1~y8,那么每个方格转动的次数可以在上图这样表示出来。和前面的步骤一样,我们对全部方格的转动次数对4取模:
' Z! }' {! L# y9 \0 S0 D
4 }+ m& L) r3 c. Z7 W5 Z4 t: [) L6 }9 [; [5 R |
; {7 N' K) e/ m$ D7 m# x 还是和刚才一样,我们随便选一列,譬如x5列为第一目标进行“归0”。以x5y1格为例,该格子现在的状态是(x5+y1) mod 4,那我们要调整y1多少次呢?设调整次数为Δ1,则:/ z/ y; O. f5 q0 n( ]' ^
((x5+y1)mod 4 +Δ1)mod 4 = 0
$ B8 G) \, Y0 ~8 h; ~% \- U5 Q$ G0 b, l3 h
因为:
; L8 E6 d& }% g (x5+y1)mod 4 < 4, H& e& B, J9 a: G Q9 F) W
( ~. M/ ?6 N0 \9 s+ V- s 所以上面方程可转化为:
, X2 Y6 d. ]( A) G& U7 @ (x5+y1)mod 4 +Δ1 = 4
# Z* I+ l9 [# L7 z w! |$ P- P- F; {$ x- j
所以调节次数Δ1等于:! T/ {* _! O( M$ C' _
Δ1 = 4 -(x5+y1)mod 4
, R$ i# f) J; l3 K
. f( f# t3 P( S J( m& j 按照方程结果,旋转y1行Δ1次,则y1行全部方格的状态变为(全部列出太长了,截选一个方格来说明):1 s+ e5 m( A! r
x1y1方格:
* B( ]$ N' L5 l' c: u (x1+y1) mod 4 + 4 -(x5+y1)mod 4% \% ]- `! Y' ^, p P+ t1 H8 L7 W
- H, Q7 M2 K! h' ~ 为了表示出方格状态,上式必须再对4取模:
1 z% K) u( |" ` A ((x1+y1) mod 4 + 4 -(x5+y1)mod 4)mod 45 W& V0 y1 O& g' R4 G% N
. _7 }- \2 n$ ^) K
简化一下:* X' L( H9 }2 I+ G1 l
(x1+y1 - x5 - y1) mod 4, E0 Q* _: k$ D: I3 f
! e; E2 F* D. z! |+ t# @$ |, _ 于是x1y1的状态为:
' T8 h3 _1 d1 W; n (x1 - x5) mod 4
4 [* J- M, o# [ O3 D% m
6 S9 V9 W8 `& I* q 同理我们可以得到调整后y1行全部方块的状态如下:
( W4 l8 J+ j& j7 A# r
& ?7 Y. L. E& M. o) _/ M1 g$ A- }9 u2 w, e+ ^! z8 J6 ^
1 d7 F0 F" q, Q( j& j, B, _- Y
同样的方法,我们可以算出y2~y8行的旋转次数Δ2~Δ8,并使整个矩阵的状态变为:) B. L0 e. X, E4 b; I( u1 i: V9 h
9 ]- g9 U, O. e: w- S1 L0 F& o. T
+ ?: u: R+ Z) v
# V3 D8 h) K! X3 ?2 V& [* K
可以清楚看到,现在同一列上的方格都处在同一状态之下,这和我们实例中的结果是一致的。证毕!
( @& K- V- O* Z+ R# ^
7 h9 X# b- h* \8 g a6 T
4 ?3 n/ w/ \- c/ |% s3 g 好了,这条迷题的分析只能到这里为止,实际上我们分析的只是这一类迷题中格子的旋转规律,通过这种规律总结出一般的方法,使用此方法可以迅速把迷题调节到解决状态,但前提是我们事先知道“解决状态”的图案。
) |0 G; R& b3 e7 P; o
( A5 y' \: e/ u" M 所以,很遗憾,虽然我们找到旋转规律,却仍无法解决破箱人这道迷题,因为刚刚面对时我们跟本不知道“解决状态”是什么样子的。呵呵~我们架起了桥梁,可不知道对岸在哪。这个问题小弟实在还没解决,请高手来指教了! |