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

技巧 AVG迷题探索(07)--静物(STILL LIFE)祖父的箱子,我的TURBO-C 解谜

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

[技巧] AVG迷题探索(07)--静物(STILL LIFE)祖父的箱子,我的TURBO-C 解谜

跳转到指定楼层
楼主
发表于 2008-6-28 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

AVG迷题探索(07)--静物(STILL LIFE)祖父的箱子,我的TURBO-C 解谜

好像有些小题大做,不过用我的脑袋实在是解不出答案。 : H1 ?2 U' _3 ?* w
7 }! P/ M( ?5 B; J% A- {
谜题:祖父的箱子
! j; G) Y( [/ Z7 J# v) s) g7 d7 [+ S/ r- ^0 h6 {  x# b
要求调到中间为红心 + M  J9 `8 P( f9 w; A+ h' C/ m2 r

( T. Q) F' j+ i! D两边为方块 * \) x/ D1 U' S6 a& K" v

& ]' D+ m6 R+ a$ a' O分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。 ) N. g& s5 ]6 a5 q

) P, G  [) J: d, N: {& u, s将每个按钮按下的情况做统计,画出一个矩阵。 / L6 [' j. H/ }6 h6 i5 `1 \5 l
3 g5 h4 |: q. |- w( N
转1号    1    -1    1    0    0
9 ]7 K* N) S7 W0 s3 t( j5 ?$ o- ]转2号    1    1    0    0    -1
2 ^# W+ @3 Z& I( H, m转3号    0    -1    1    -1    0 ' b0 f. Y& m- A
转4号    -1    0    0    1    1 8 G) J0 k' k) l4 [$ g3 _; Y+ H
转5号    0    0    -1    1    1
2 F' E: d# J4 I/ G: d* j2 s$ P
其中,顺时针转为1,逆时针为-1。
$ X* j  H' q% e, l) c/ ^1 j0 u( r8 f# }* i
设每个转子转动的次数为X1,X2,X3,X4,X5
: |6 B7 `3 U3 L+ D1 ?
$ N6 n# d4 G9 Y2 ?4 J" C4 z0 z7 q) L对可能的次数进行循环镶嵌迭代。 ' J9 T/ J) S0 S' E& J7 K- N4 J
9 z' y5 u( b* ~8 ?* {
次数以4为循环,故0<=次数<=3
7 c2 o% S' j, v/ o/ b; T& J2 C3 j( S+ l
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 4 \) u+ K8 K# f  E* [" @# _
1 R8 U1 O1 ~, |6 R
根据结果要求,对转子1,其结果可能为0或4。 ) p* I2 ?4 {' F
5 D! H# @/ f4 B2 U
对转子2,其结果可能为2或-2 : R  U- p, D8 C8 p0 ^8 `/ A) f

& y$ L) d, j$ l% J* h5 }+ b对转子3,其结果可能为2或-2 ' x2 _2 }$ F: ~- z3 a2 ^. b
. E( A6 ~6 |" C5 g/ a" E
对转子4,其结果可能为1或-3或5
: H: C) c/ L7 C1 g: R( P: u
! T4 S' C0 m, C对转子5,其结果可能为3或-1   b8 i9 g2 z6 Z7 q) U
+ v" G+ B2 w/ \1 n: t: s
TURBO C进行编程,程序如下
( Y) T" t' [2 y) ~' b) @#include <stdio.h>
7 }# C1 ]3 W) s+ [void main()
- {! L. t9 K& @1 O" b{
" k$ r% G$ _+ N  Y* p. [  int x1,x2,x3,x4,x5;
+ r! V0 d0 o+ m* S) E0 ^  int a,b,c,d,e;
* i3 ~, e( D8 p, y  for(x1=0;x1<=3;x1++)
5 ^  s2 A' M- m& ]1 C: x    for(x2=0;x2<=3;x2++) 5 L) U! Q7 Y2 o% B6 p/ D1 l
      for(x3=0;x3<=3;x3++)
) Q, {1 _" K8 Y. N: ~; R        for(x4=0;x4<=3;x4++)
- S/ e. |, B$ z4 h( y$ G' D5 z( E          for(x5=0;x5<=3;x5++)
* H; ~/ \3 d. o            {
# j) v' g- N" H9 t         a=x1+x2-x4;
- x1 g9 X4 l, ?4 z- Q4 R1 u         b=x2-x1-x3;
) }" G' l: A7 ?' _8 {, w# a6 T         c=x1+x3-x5;
# J! P. M1 P: ]% x% t- L0 H         d=x4+x5-x3; & S4 y, x! o6 N# F3 {$ q$ @/ R, _
         e=x4+x5-x2; ) r7 s- @; j# j' u/ G. S" d
         if(a==0||a==4) : A. A1 f) A0 w2 a; l
         { $ R1 y. f9 T+ {5 w, ~
           if(b==2||b==-2) 3 k" Z( w( |7 l) w7 O/ e
             { $ }: x# E0 k8 U: d: w
            if((c==2||c==-2)||c==6)
- |+ [+ n9 C6 b             {
' `4 {5 }4 l) D$ s1 Y9 o                 if((d==1||d==-3)||d==5)
/ n* q4 ?4 |9 s* \- ~3 x                {
$ n9 @9 V' j9 h6 \- R8 F+ T                 if(e==-1||e==3) 3 ~( C: U4 [7 A6 r+ m% b
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
4 |' d1 X( s5 M  i                 break;   c" w: C. p; j% h4 Z
                }
) o* _! G% b" T+ t5 V2 O' U0 g
, K: N% v, w, u2 S  I4 C+ s: A2 X' b* G1 z             } & U* ~9 K' n4 ^
8 Y7 ~# g; L6 z3 D& K0 f$ B
               } 5 F9 \+ a( W" j9 h# f: P2 z

1 s9 i' Y7 N$ g: b# R4 P' z         } 0 w7 x# j# ^# W2 W" w1 Q7 B

# |/ X, ]( k/ _) e       }
* A$ q! {3 W1 f; A. c}
' X+ N* `4 w7 B+ D, n! |/ z3 N9 ^
/ `7 Q3 Z( g/ d8 r: x! U! d# ^8 t9 o编译,调试,结果为X1=0;X2=3;X3=1;X4=3;X5=3
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2008-6-28 16:46 | 只看该作者
LZ真是AVG铁杆和程序精英啊 [s:2]
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2008-6-28 20:51 | 只看该作者
引用第1楼龙翔九天于2008-06-28 16:46发表的  :
* M5 A+ ^. b; C# i# RLZ真是AVG铁杆和程序精英啊 [s:2]
) l9 a9 M  ?/ K! l: C( t/ P5 O7 g9 P
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
+ x( P2 E/ p$ p" Y, \# g, p) }, R6 q) s& J8 Y% k+ \
不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~) g2 S- e2 p8 o+ J

; ]' f' C  t" h& `静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.7 o$ {/ Y1 V2 V& J+ Z1 }/ n
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
# ?/ z$ i6 P  G0 S% m4 C$ L2 O不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路." `# ^; Y* h" \* g3 F: i
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

' K2 s- K! H# H/ a# E) ?8 y; o( Q4 i能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0 5 T4 u8 |! K) w& \4 n3 I9 V
转2号    1     1     0    0    -1 6 i3 Q% c# q7 e- {- X& `' C" }5 Q
转3号    0    -1    1    -1     0 / Y' e5 P7 @% F6 E. t2 M
转4号    -1    0    0     1     1  
2 {0 S  |; e( M% ^转5号    0    0    -1     1     1  
; l6 q9 N2 e. e4 `3 R5 \其中,顺时针转为1,逆时针为-1。
# i$ U3 M' Q% S, q7 D" ]设每个转子转动的次数为X1,X2,X3,X4,X5 8 W* x3 b, ^" I, @  e- [
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4); k! M- Z. S0 m1 O
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)
" Q8 R) m1 K9 P& V9 Q6 l对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
$ T$ F# }" {3 s$ b: I7 U8 ]对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)
8 _2 t3 R4 J4 r+ W2 ?& }对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
1 F' }8 E4 r! b& d3 _由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解
0 X- U6 P- x& ~& q% V& c: A; E7 u4 b& I  L. S) M
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
5 G. G0 P( Y7 M) }# _转1号    1    -1    1     0     0
1 A& u; J" O; `% A9 b转2号    1     1     0    0    -1 ( E- h2 v* t- k6 I
转3号    0    -1    1    -1     0
: b$ \, A. J# Y# V3 G5 g$ |$ N转4号    -1    0    0     1     1  
' R3 x3 w0 `% f% u" b0 e转5号    0    0    -1     1     1  
# z/ O* d% I# m.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
5 v+ X) i: X# g% q3 A* E5 H# j我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

8#
发表于 2008-8-10 18:23 | 只看该作者
呵呵~不错不错,研究得挺明白
回复 支持 反对

使用道具 举报

9#
发表于 2008-9-12 00:09 | 只看该作者
[s:2] 厉害,这类问题我也想过编程,最终放弃,因为编个程比我自己试出答案来还要多时间 [s:5]
回复 支持 反对

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
- U& S) M8 Y4 c2 ?自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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