<P>在游侠转了一下,发现still life里迷题的解法实在五花百门,挑了个我觉得比较“恐怖”的迷题解法,贴在这里给大家看看,也欢迎大家讨论分享自己的still life迷题解法[em01]</P>9 y" G/ f' v* i0 M# Q) \
<P>***********************************************************</P>
% _/ z' K b% V<P><FONT color=#ff0000><b>阁楼箱子的迷题</b></FONT></P>5 d* R( k1 c1 V4 m- B' D% c9 ~
<P><FONT color=#2222dd>出自游侠[swiftxie]的解法:</FONT></P># y+ q! W5 e4 v! f8 S. R/ h+ U
<P>这个迷题其实本身是很不错的,只是,谁知道要什么状况才可以打开箱子呢?
* c6 ^1 j# V( X# P2 u. O如果给我明确的目标,那么过程的思考是很有乐趣的, b! |. P! m6 Q X Y
可是没有明确的目标,谁知道阿?我于是第二次看了攻略,就看了要方方红方方才可以开。
4 o1 l9 E/ |0 f: _然后是自己去摸索着转成方方红方方了。' k! g7 m$ W& W9 a% i' \. C
摸索的过程还是比较有趣的,可以运用各种方法。
% }5 X8 g% ? Z! a- F( |也可以像我一样,模型化,编了个JAVA小程序解决。
2 S# _! i" B1 `1 T/ L. ]. w; J4 b2 }当然我没有考虑最短路径,没有考虑重复的“环”情况。
$ `! \! G A E, A$ h0 T那要编写的代码太多了,呵呵。反正只要求一个可接受的解就OK了么。5 @' ?2 l% `/ i# I% y
如果是自己解,难度也不会太大,可以观察转动每个轴的变化情况,6 O# Q; l$ I% t6 [
用倒推的方法,3,4步一考虑。就是先跳3步,然后考虑,如果要这样,那么前三步大概如何。" d) }/ ]6 s- r6 R6 ~
在尝试的过程中,会发现一些“环”,就是若干步骤重复执行,会让状况回到开始。
2 Z/ [) V- ~# P4 C; c; w这些环可以通过记忆避免,当然若是编程序,也无所谓环了。3 c- c/ G, f9 Z
(我当时的做法是50步一算,然后重新算一次50步,直到找到50步以内的路径,- }0 m8 l1 S* p2 k
这样,环最长,不会超过10步吧。)</P>
# Q& s& m' F. A* n% t6 C ?<P><FONT color=#3300ff>出自游侠[raycrisis]的解法:</FONT></P>
9 M: x# c0 e) H, J: g<P>没必要用JAVA编程序啊。* i( M3 S+ v$ u9 N& j" D8 I
这是个矩阵求解的题目。/ v8 V; W3 Y# A, Q9 I# k, e
用个矩阵除法一下就出来了。! S% s: l$ W$ }, ?" e3 s8 w
5个开关,4个花色。
- ]6 H m/ ?" |/ q/ Z! i5 O4个花色风别代表4种状态。可设方块为1、梅花为2、红桃为3、黑桃为4。4 d* t: i( q- Q4 H- O
每个开关使用后,右转可代表1,左转可代表-1、不转代表0。& f2 c* M, h! d! y/ v/ m
可得5X1的初始状态矩阵A,每个开关使用后的状态可得到一个5X5的矩阵B,每个开关需要使用的次数是一个1X5的矩阵X。要求开锁的状态也是一个5X1的矩阵C。
$ ]5 W% _6 E# z! K; l3 X L实际的方程就是A+X*B=C;
" L: |: ^4 \' _1 C2 ]X=(C-A)/B;就可得到每个开关要使用的次数了。</P>
+ k$ M/ ^% i1 V<P>
% M, D6 k: Y, h0 e, H得到的矩阵,如果是[0 -1 -1 -1 1]0代表不要使用,-1就是用3次(因为周期是4嘛),1就是用一次了啊。
9 M0 w7 {2 z5 s# T, _8 A/ j9 E这个矩阵很容易就能解出来。</P>
6 q- @& ~$ g. t1 A+ m4 {' o _9 P<P>可是本人比较懒,用了matlab。</P>5 {( Z, v, \8 B7 }9 T7 W
<P>***********************************************************</P>
% s3 W2 z0 r7 ^7 X% |% y<P>真是恐怖啊,连JAVA和矩阵都出动了![em06]佩服之至!</P>
+ H2 i3 c/ v2 v: a- |7 K9 Q<P>大家还有一些别的迷题的思路吗?欢迎畅所欲言[em10]4 s# T2 d& E7 p" e4 G- B( [3 ~
</P>
" J# _( D( v+ o1 \<P># G/ D! }; N0 q0 s9 n! i0 |. f% R
</P> |