设为首页收藏本站官方微博

[讨论]千奇百怪的Still Life迷题解法

[复制链接]
查看: 8985|回复: 25
打印 上一主题 下一主题

[讨论]千奇百怪的Still Life迷题解法

跳转到指定楼层
楼主
发表于 2005-5-26 18:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

[讨论]千奇百怪的Still Life迷题解法

<P>在游侠转了一下,发现still life里迷题的解法实在五花百门,挑了个我觉得比较“恐怖”的迷题解法,贴在这里给大家看看,也欢迎大家讨论分享自己的still life迷题解法[em01]</P>
) d, w3 @& l( R! y7 r, X<P>***********************************************************</P>
, _. t! [1 d8 a% ]<P><FONT color=#ff0000><b>阁楼箱子的迷题</b></FONT></P>; T  o( P- E- J, ?5 g4 x. \
<P><FONT color=#2222dd>出自游侠[swiftxie]的解法:</FONT></P>
9 D0 Q' _3 G2 A3 z" R' j$ \! \: P<P>这个迷题其实本身是很不错的,只是,谁知道要什么状况才可以打开箱子呢?' L, I1 E+ l5 w
如果给我明确的目标,那么过程的思考是很有乐趣的,7 a) b; A8 ^; s4 U8 w3 {% R
可是没有明确的目标,谁知道阿?我于是第二次看了攻略,就看了要方方红方方才可以开。' W# |$ G; G2 [7 E, ]  l
然后是自己去摸索着转成方方红方方了。  @8 G. d; S& X  {( V
摸索的过程还是比较有趣的,可以运用各种方法。/ r' z# H& D1 x2 o5 ]
也可以像我一样,模型化,编了个JAVA小程序解决。
. ?* H: C) g3 A当然我没有考虑最短路径,没有考虑重复的“环”情况。
  e# w* m* ~4 L  T9 j3 j+ [- Q3 e那要编写的代码太多了,呵呵。反正只要求一个可接受的解就OK了么。* y: z! _0 g/ Z! p
如果是自己解,难度也不会太大,可以观察转动每个轴的变化情况,* I( `8 [/ \$ W- m: N+ f, R1 I
用倒推的方法,3,4步一考虑。就是先跳3步,然后考虑,如果要这样,那么前三步大概如何。' P# A2 p* n; ~
在尝试的过程中,会发现一些“环”,就是若干步骤重复执行,会让状况回到开始。
! ^6 X' @8 j  A, t, g* e6 E3 v) w这些环可以通过记忆避免,当然若是编程序,也无所谓环了。$ ?" O. Z8 H) Y! m& Q8 ?+ b
(我当时的做法是50步一算,然后重新算一次50步,直到找到50步以内的路径,  a4 i0 e/ `7 ~8 h
这样,环最长,不会超过10步吧。)</P>6 C- D( |. G3 @! |
<P><FONT color=#3300ff>出自游侠[raycrisis]的解法:</FONT></P>
. l& a3 G3 a+ l! E* Y/ ^<P>没必要用JAVA编程序啊。' }+ P- K6 B* c$ b/ L5 i0 k
这是个矩阵求解的题目。
9 u; ~7 ^; w+ y  Q$ q8 m用个矩阵除法一下就出来了。
0 G+ F, h% N0 `1 w1 e. B$ O5个开关,4个花色。3 c1 u( i7 g0 V! Z4 Q8 Z
4个花色风别代表4种状态。可设方块为1、梅花为2、红桃为3、黑桃为4。
5 v( u- _1 s) B, H5 B7 S$ d每个开关使用后,右转可代表1,左转可代表-1、不转代表0。8 ]0 C7 O1 C0 m  v& V' t* u
可得5X1的初始状态矩阵A,每个开关使用后的状态可得到一个5X5的矩阵B,每个开关需要使用的次数是一个1X5的矩阵X。要求开锁的状态也是一个5X1的矩阵C。
0 i  O. v0 k" o' A实际的方程就是A+X*B=C;
0 p* m8 X, q/ h  @) gX=(C-A)/B;就可得到每个开关要使用的次数了。</P>4 ]. ?  ^( j8 g
<P>5 _8 {0 g! c8 U* f, U# a
得到的矩阵,如果是[0 -1 -1 -1 1]0代表不要使用,-1就是用3次(因为周期是4嘛),1就是用一次了啊。
5 I" l% q! [0 N5 c3 {* T8 c这个矩阵很容易就能解出来。</P>" o1 w& ?2 n. K5 C  j( S! R2 a
<P>可是本人比较懒,用了matlab。</P>3 _5 [: ?, A8 F4 d8 I
<P>***********************************************************</P>! a8 m: S& H3 U8 W1 v* J
<P>真是恐怖啊,连JAVA和矩阵都出动了![em06]佩服之至!</P># F8 }+ d" T) y+ G* V3 |% a$ i7 b# P
<P>大家还有一些别的迷题的思路吗?欢迎畅所欲言[em10]$ o% d. O7 s4 _; s* D
</P>$ @4 d" x8 T4 N% z$ K% R: I
<P>
8 L/ }! N9 @& l( f </P>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

26#
发表于 2005-8-27 17:46 | 只看该作者
过奖 过奖6 G: l3 _" q/ Y4 g2 z3 X
5 W" q# G. i- q

" l/ M7 ^0 N4 \0 z5 e: [* S: S/ ^, L; C1 \
9 u9 I- b: H" d% w+ R$ J
0 k# X5 [# ?* c6 S) Q3 a$ I
怎么我列的表格变形了?奇怪!
回复 支持 反对

使用道具 举报

25#
 楼主| 发表于 2005-8-27 14:20 | 只看该作者
哇哇,给lqshma鼓掌,我喜欢你的解法,够简单而有逻辑,思路也很清晰!
回复 支持 反对

使用道具 举报

24#
发表于 2005-8-26 03:59 | 只看该作者
我认为这个密题一定要发现他的规律,而这个规律也只能借助数学的方法 虽然按照规律试N次也可以试出来。- ~* v- |8 ]6 F" O: b* [

( L  @( e9 g* W" Q9 |9 b& }8 Q# I/ G7 R% N5 G  S4 V$ a
) e0 y# k/ B# A6 d/ |6 ~$ j6 R
我们发现第一个开关控制的是1,2,3个字符的转动,而且分别是1,3右转 2左转
  d) o9 j# F, y7 E+ }5 P( x第二个开关控制的1,2右转  5左转9 [' l/ ?- p7 ~4 [2 }
第三个。。。第四 第五都可以发现他们控制的哪个字符转动以及方向
# H; g$ `4 n( I; y( v我们来列个表 1,2,3,4,5代表从做往右的5个开关 往右转用1 往左转用-1  填入下表
; i1 j/ c6 x8 g  x. l2 l+ }1 l
6 l$ h/ E# M2 p- |" d+ I! |- U, ~# m6 Q/ ~

$ `# B/ y" ~. _4 x2 E- T     1         2         3          4         5
4 \4 N' `) _4 e  r+ Y8 p; r/ \---|-----------------------------------------$ g  l& Q% k3 l+ c
1  |  1        -1         1                               a
! ]& U' U: e; N2 Y; \---|-----------------------------------------
1 Z5 z! e  q/ _) y2  |  1         1                               -1        b3 @! Z/ [: c# E" r) [
---|-----------------------------------------
8 H" V4 V! O! S+ a; d& W8 G# ?3  |            -1         1         -1                   c
) k& g9 @% _; x- Q" B! Q/ U/ K/ N---|------------------------------------------  ^) Z: z  @) I9 R$ m# B
4  | -1                                1         1        d: e! q4 U; A9 \8 f& P9 z2 J
---|------------------------------------------
* V9 k0 N: W- L% _4 S5  |                       -1          1         1        e
+ g& }0 @+ F& @' D( Q, S$ `----------------------------------------------
. i8 b/ Y) R8 S) P+ e        0         2        2           1         3+ a+ E8 ?; P9 q! I7 l

7 j5 D/ y8 J- X6 v3 V3 J" ~+ n8 v* \' D+ w2 o+ `
看到项链上的字符我们知道最后要摆成那几个字符 我们按照最初的情况知道总共需要让第1,2,3,4,5按钮分别右转0 ,2,2,1,3下,由于每个开关都互相影响,不能直接按开关1 0下,开关2 2下。。。。但是他们的影响有规律,就是上面的表,而且是线形的,所以可以通过解方程! f" B; u; J0 Y5 t
设第一个开关按a下,第二个开关按b下,。。。c,d,e ,1 B7 [" C  }6 x: B2 p2 J

+ k. U5 q; Q1 F. k' G: I下面要做的就是列方程了 从上往下竖着看
0 X: W( a( M& g* M  S, M& _3 Oa+b-d=0( M9 h" C/ \- P& g
-a+b-c=2" V- {, O( v) |; a; Z5 u( o
a+c-e=2" y5 V4 y1 U3 X6 i: R
-c+d+e=1
% X; g" \( q9 X0 D2 h-b+d+e=3
5 o* p3 G% b! K3 l1 T6 v8 R. u- t1 ~, y" x) [$ Y3 F, y6 a/ Z0 Z( o- Z6 B7 @9 C
这个方程应该很好解,要是不会解或者懒得解的话你就给你上小学的弟弟妹妹做做练习
8 ]& j- |5 s/ R5 S& x得出来的a,b,c,d,e就是开关1-5所按的次数
. g# l# B' E; D; O7 C$ q) j  [" `- O% K: ^% ?; f  t/ A' X3 r4 [

4 V3 h% N3 s" g% _6 j% z不知道我讲明白没有
8 N6 ^4 M& V. v' Q( J! N2 Y+ r: @3 m+ U0 `
9 X7 d) ]. W& y! W0 Z
如果学过线性代数的话就知道 其实解线性方程和做矩阵运算是一回事,但这么一个小CASE就要搬出矩阵这个工具来解决未免太夸张了吧,而且还要做复杂的矩阵变换,太麻烦了,虽然可以用Matlab算,但游戏玩家大多不会用的吧
) B, E& z" c! k, s( Z5 ~7 u+ x/ ]* y' ]" j& Z0 X* {' o# t
还有人居然想到编程,太BT了吧
回复 支持 反对

使用道具 举报

23#
发表于 2005-8-13 19:20 | 只看该作者
这个矩阵解法太帅了 清晰高效啊
回复 支持 反对

使用道具 举报

22#
发表于 2005-7-15 14:18 | 只看该作者
太强了,我是自己试出来的。
回复 支持 反对

使用道具 举报

21#
发表于 2005-6-15 22:47 | 只看该作者
这就是一个数学游戏。慢慢玩,不用这么复杂地算的。找到规律就行了。
回复 支持 反对

使用道具 举报

20#
发表于 2005-6-13 00:21 | 只看该作者
兄弟们,搞复杂了吧!
回复 支持 反对

使用道具 举报

19#
发表于 2005-6-12 14:52 | 只看该作者
楼上莫名其妙。
+ [# ]5 }- i1 A: y0 Z* r7 ?2 H5 Y/ w7 h- f
数学是最有趣的游戏。; Q) Q& i3 n  Q. C9 P2 }
; K9 V; `0 g) `8 Y; M4 S
(虽然是我玩得最差的游戏)
回复 支持 反对

使用道具 举报

18#
发表于 2005-6-9 12:25 | 只看该作者
<P>游戏是娱乐,学习累了来玩游戏,还要用学的数学[em06]</P><P>那不是被游戏玩了么?</P>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表