证明:1 S, c& F% d+ a3 N9 A, `. M
% L, |6 [) o: z% F( d5 g$ s
. `: i0 x: d* B& y) J; X6 N
' W+ C/ c' p) ^
假设作者在打乱拼图时,对每一列的转动次数为x1~x8,每一行的转动次数为y1~y8,那么每个方格转动的次数可以在上图这样表示出来。和前面的步骤一样,我们对全部方格的转动次数对4取模:
0 m' m* l( q. S1 q2 ?1 O( ^$ U1 @
# e1 A3 [. e0 m![]()
- \, i+ ]6 B6 D: K# {- d7 D# @$ S! \8 D) [ _* m
还是和刚才一样,我们随便选一列,譬如x5列为第一目标进行“归0”。以x5y1格为例,该格子现在的状态是(x5+y1) mod 4,那我们要调整y1多少次呢?设调整次数为Δ1,则:0 [" Q6 `$ e, z: m- W* N6 S% B% L& e
((x5+y1)mod 4 +Δ1)mod 4 = 0$ P' ]- u: {, }$ l; }0 N: g) }8 a5 l
# R1 ]2 k/ v0 w5 v8 ^
因为:: T7 }+ z& P9 E4 u3 a& F/ H
(x5+y1)mod 4 < 4
7 a% b+ @1 K5 y; x& ~8 P
8 {. Z6 _$ }: A$ P3 |4 m* o6 A! I 所以上面方程可转化为:
" F# l8 C8 t5 o: e4 i4 n (x5+y1)mod 4 +Δ1 = 42 r4 H( C( v) s3 M* m8 c* l5 ?/ O
3 M1 N- e4 D5 z, K e' [6 q
所以调节次数Δ1等于:
# ]+ d% P0 o! o2 ?' p) G Δ1 = 4 -(x5+y1)mod 4
$ R, i; R/ E6 m- |$ P, r6 ]2 D! L9 i
按照方程结果,旋转y1行Δ1次,则y1行全部方格的状态变为(全部列出太长了,截选一个方格来说明):, x( n& D" |/ F- i
x1y1方格:, t6 h2 V) E9 R* `$ a3 r4 k
(x1+y1) mod 4 + 4 -(x5+y1)mod 4
- R% d8 i1 B9 ?' |& y1 H8 u1 i8 @5 g: _ o+ o G( B/ g; D/ V
为了表示出方格状态,上式必须再对4取模:* Q0 g9 I C% p, G
((x1+y1) mod 4 + 4 -(x5+y1)mod 4)mod 4! p; m& w8 f& @8 T
- W1 T, j9 k* S' Q5 {
简化一下:
% P T7 u" m; h* T (x1+y1 - x5 - y1) mod 4
8 o4 H# Y# c. y
- t9 C+ l6 Q _- J* p5 [2 }$ H 于是x1y1的状态为:" m9 o* j7 t' V/ O7 g2 U4 P2 o% h
(x1 - x5) mod 4
4 F) Y3 W [' o# S* j! x F; ` / ]8 r& M0 ?7 }9 b9 a: g) `/ S, a
同理我们可以得到调整后y1行全部方块的状态如下:. Y4 l/ l; }! n) U7 Q* k4 Q
1 O' x5 |' Q8 |- x. p+ y" t7 f: e
, `$ U2 \" k! S: A0 q
' Y4 n' v5 Y8 S1 z! k$ ~* Z同样的方法,我们可以算出y2~y8行的旋转次数Δ2~Δ8,并使整个矩阵的状态变为:
$ D* b: B% f& D% D6 X; ~! L
- L A' v/ H1 l5 K3 @![]()
( }2 y: A" Q+ H, E% p+ v- y
: M/ W% Z7 q: M* T 可以清楚看到,现在同一列上的方格都处在同一状态之下,这和我们实例中的结果是一致的。证毕!
3 y! Y" P' r- q+ L, v2 _) ?# h+ [% E, N/ h$ d2 ^
0 O0 o* h! C0 n8 q 好了,这条迷题的分析只能到这里为止,实际上我们分析的只是这一类迷题中格子的旋转规律,通过这种规律总结出一般的方法,使用此方法可以迅速把迷题调节到解决状态,但前提是我们事先知道“解决状态”的图案。
* t& ?& R$ C' r% ~, G! a: x, P9 e 9 o5 N& _# E3 K
所以,很遗憾,虽然我们找到旋转规律,却仍无法解决破箱人这道迷题,因为刚刚面对时我们跟本不知道“解决状态”是什么样子的。呵呵~我们架起了桥梁,可不知道对岸在哪。这个问题小弟实在还没解决,请高手来指教了! |