. k# X& A9 L& [7 c
' c/ m+ t+ [2 c4 {$ n! d5 o% U* Z这几天正好比较闲,到网上下了这个游戏玩玩,总的感觉就是进程太短了,我就玩了大概半个下午+晚上就玩完了。中间的迷因为有藏宝图指示,难度都不是太大,不过有几个确实把我卡了好久。先不多说我的玩后感,我主要是对最后玛雅人的2个古老谜题比较感兴趣,我觉得用数学的方法去解比较好玩,以前有一些AVG游戏也有类似的的题目,可以用数学模型去思考。我想把我的解题思路那来个大家交流一下,不足的地方还请大家指正,或者有更好的方法也可以讨论讨论。 6 f' c: ^) Y) G+ h8 o3 n) h
1 s/ p- b8 i! f5 k! C8 D- Y谜题1: 7 J/ m- A8 q, F+ ^% d {3 O5 ?
我这个人比较懒,不想一下下点那个按钮计算时间,很麻烦,而且我心疼我的罗技G3啊,于是我想到了一种根本不用点那个按钮来计算时间的方法,根大家分享一下: " j9 Z4 G7 E5 p- U2 {& {& L
当用指北针做出正确的方位的时候,可以根据方向上的图案对应到玛雅人当日历用的圆盘上,大圆盘上的每个图案对应的数为20*n+x,小圆盘上对应的数为13*m+y,这里m,n为非负整数,即m,n=0,1,2….,x,y的值取决于以两个圆盘圆心连线所在直线上图案作为的原点。 ' t& H1 L; n' m
4 @9 t5 O( C, v: N% y2 P0 B
! D& J6 y! o" T/ h( O9 F7 Q9 f我们不妨把那些乱七八糟的图案编个号,编号的起点其实不重要。假定我们以如图1的方式编号,并以该图大小圆盘中心线上的图案作为原点。
( z0 [8 E/ _; K& C( ?3 j+ o则第一个小问题,正南所表示的数,(以【大圆盘,小圆盘】这样表示)为:【20n+2,13m+1】. 5 f% s( y1 D5 b0 R3 U: [4 s
正北所表示的数为【20*(n+p)+1,13*(m+q)+1 】(p,q均为正整数),由于大圆盘和小圆盘是联动的,所以正南到正北的时间差t=(20*(n+p)+1)-(20n+2)=( 13*(m+q)+1)-( 13m+1)
/ c& H: x( x* E. @ C' i得到不定方程20*p-1=13*q,可以以p,q均为正整数为出发点解这个不定方程,也可以用画函数图找交点的方法解这个不定方程。这里采用第一种方法,将等式变形得
- \. R0 u9 s2 S, P# Xp=(13*q+1)/20 ,令q=1,2,3…直到第一个满足方程的最小整数出现,得q=3,p=2,所以t=39 1 m |" x+ \4 W
对于后面两个小问也可以用同样的方法,不定方程和解分别为:
. k( j" [- N x( { g0 t B第2小问:20*p+12=13*q+6 求得的t=32 / J' z- z4 q/ `) K
第3小问:20*p-13=13*q-6,求得t=7. ) n7 `2 g! X+ O- ]" h
后面的就简单了
, P' \+ I |7 b; V0 ^
+ o& B+ v$ i5 }# W在汉化版中,把鼠标移动到开关上显示的问题和写在藏宝图纸上的问题不一样,开关上的是“从北边到西边”,而纸上写的是“从正南到西北”,先没有注意,按照开关上的谜题来做,竟然没有正整数解,有图为证:
) O$ X- S. i4 U) V* z D% V
# G5 r1 Z# g7 Z2 A" Q/ g 1 V! z& n8 t3 l! {5 _
. s2 ]; \1 T* y$ S4 @ 3 j, q3 V& \1 g$ c8 C4 c
正两个函数的交点居然在负半轴上,晕啊晕~~~~~,也不知道这部分是谁做的汉化,害惨我也~~~~~!! 0 I# G+ @ g' O9 a1 U7 p
- S) f. [& F( F, E$ ^
谜题2: , A& ?4 N* W, |3 t+ F5 b) q
面对的桌子上是一个奇特的机关,机关的中心是3个小球,我们把小球从右上角到左下角分别依次编号为a,b,c。在小球的周围围绕着一个半圆形的圆环,分别把圆环由周围到中心依次编号为A,B,C。机关边缘有3组按钮,每组2个,共6个,我们把这6个按钮分别编号为X1,X2,Y1,Y2,Z1,Z2(见图1)。
* I& A' n& u! W- a
$ X( m7 J0 R. {# S( Q6 X ; c0 ^4 M0 I, ^+ _) n U1 O" ~# Q
# W( ~7 h; M u& |4 A/ N
2 z- n1 _" a+ P3 y0 Y1 ?" x4 v
4 U" |% X* r9 u5 U' P图1 按钮分别控制着小球的颜色和圆环的位置,每按下一个钮一次,相应的小球和圆环变换一次他们的关系如下:X1控制C和a X2~~~~A a Y1~~~~A c Y2~~~~B b Z1~~~~C b Z2~~~~B c 用表格表示如图2:
/ R$ h: _- S& F s& Q3 u5 @![]() 图2 从这张图还可以反过来看出单个小球a,b,c;单个圆环A,B,C受按钮X1…Z2的联合影响是如何的。
5 D1 X. K3 m+ Q% l/ {小球的变化有3中,第1种为蓝色,第2种为白色,第3种为粉红色,如图3
0 i5 {; `' ^* P4 R6 A h( g! A3 e, K1-- 2---- 3----
+ m1 d, Q! b9 J6 N图3 圆环的变化也有3种,位置1是与正面所在的坐标系水平轴成60度,位置2是成180度,位置3是成 -60度。分别如图4~6
; ~. u* B }' c2 N. f- A6 @+ e
8 ~$ K Z1 ^, R9 b6 n& W
H! E9 g% r: W( b- O图4
R) O9 g4 D% x6 s, Q+ o7 Y图5 / Q4 y" E/ a6 G! N4 n
图6 由上面的图2,其实我们已经能够推出圆环和球与按钮之间的关系了,即: A| X2+Y1+? B| Y2+Z2 +? C| X1+Z1+? a | X1+X2+? 其中“?”表示球和圆环所处的当前状态值或者初始值 b | Y2+Z1+? c | Y1+Z2+?
j* N, ~! Y g% h如果用矩阵表示起来会更加直观 , 如果把矩阵 表示为A, 表示为x,其中系数X1,X2,Y1,Y2,Z1,Z2分别表示将此按钮按下的次数,即X1表示将X1按钮按下X1次,实际上游戏中的谜题就变为求:Ax=3n*α,这个α为(1,1,1,1,1,1,1)T,n的取值为0,1,2…… 我们不妨将n取为0,这样方便些。(表示法1)将位置1表示为0,位置2表示为1,位置3表示为2.小球的第一种颜色蓝色表示为0,第二种颜色白色表示为1,第三种颜色粉红色表示为2.然后将所有的结果进行模3处理如 -1变成2,3变成0. 【当然也有其他的表示方法(前提是顺序不能变),比如表示法2:把位置1表示为2,位置2表示为0,位置3表示为1,蓝色表示为2,白色表示为0,粉红色表示为1,这时候只能取n=1(因为0对任何数去余没有意义),最后算的时候将所有的结果对3取余数,然后将余数对应相应的颜色找到按下的次数。】 这样我们在小球和圆环处于任何一个位置的时候,填入当前位置和颜色代表的数,比如当前的状态如下图: ,令为n=0 解矩阵方程Ax=0 。 我们用表示法1:将上面的矩阵中“?”处填入1,0,0,0,1,0得到 矩阵A为 ![]() 先求矩阵的秩,由于这个系数矩阵的秩小于矩阵的行数,肯定有无数种解,我比较懒,用的是微软的Microsoft Math 3.0 工具求的结果, Z1=Z2-1 --------------------------------------① Y2= -Z2 Y1= -Z2 X2=Z2-1 X1=1-Z2 在①中令Z2=1,在进行模3处理,则其中的一种结果是 ![]() 即Y1号扭和Y2号钮分别按2下,Z2号钮按一下。 7 p* G2 T# B! g+ E) v4 q
这样我们就可以解开这个机关了。 |