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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。
- E7 w$ Z- Y4 y9 G$ d% u7 W9 \4 D2 A% ?& A% B
谜题:祖父的箱子
% i$ I# ?# `6 [
: k' d8 s# U( t& r! j要求调到中间为红心 - @# P3 S& i; N7 k5 c! F  E

: M  z1 s& v7 I3 F9 E两边为方块 ; a: ]2 U, d, ]9 ]6 g+ ]
% y5 n3 N: @) b  t
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
6 w& P- t, Z- S% f8 o6 V
, r" T5 ~" z* s4 k2 X将每个按钮按下的情况做统计,画出一个矩阵。 - Q! t$ f4 [& W

7 ]: D8 a8 [) y; G3 K1 r2 p转1号    1    -1    1    0    0 & R5 O* V; k$ x) \
转2号    1    1    0    0    -1 4 H. N2 Q0 X# w! V. e
转3号    0    -1    1    -1    0
6 S& l3 G% |: r6 H8 C* O转4号    -1    0    0    1    1   s( O. S, F( ?
转5号    0    0    -1    1    1   B8 Y! I1 h- n2 q3 Z6 b* @

/ H; h, t4 O+ ~6 X+ U其中,顺时针转为1,逆时针为-1。
- H2 N! \: ]& t3 O$ P3 i9 c% y9 s& j" X1 m) f
设每个转子转动的次数为X1,X2,X3,X4,X5
1 e$ K" k( \& f0 _2 S) W
: S- Z5 Z, n6 \6 A对可能的次数进行循环镶嵌迭代。 1 s# Q' w, ~. w! K% B. S) _% C

; B- D" o8 B8 u4 M. ]次数以4为循环,故0<=次数<=3
6 z; `7 l1 e0 I' C2 F5 M9 q
) p$ b( w: C; n8 a5 i分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 1 I1 d  Q% k! [! T' ^1 q3 P

, r% a4 K% v6 B( C4 f$ N0 w根据结果要求,对转子1,其结果可能为0或4。 & W$ H; K: g* Y* I" e; w& {+ W
8 @' z. u% o! m$ c
对转子2,其结果可能为2或-2
9 ?0 S! ?. V* h0 c
, T/ B' e5 v0 a" l( g对转子3,其结果可能为2或-2
) Z. L% N* Y" u  \
! {: H+ A% \  x/ N8 z* f对转子4,其结果可能为1或-3或5 4 L4 B6 Y' p9 x* _

  K( Z" J- B1 n5 K. K8 S, h8 d对转子5,其结果可能为3或-1 - P8 T' _2 k; a* O1 B' a* e

$ l7 S# f- G8 h. p4 rTURBO C进行编程,程序如下
, N9 T" I2 [0 p#include <stdio.h>
& Y" m5 M) k4 s9 Y' t/ J5 E) M- hvoid main()
8 L( [* e$ j  V# T* ~3 H  J{ + i# K1 |* e' m1 w3 P- Z" t
  int x1,x2,x3,x4,x5;   L- O: _8 L. i  k
  int a,b,c,d,e;
5 a' S7 E; e( v3 [  for(x1=0;x1<=3;x1++) 7 u8 Z' u) w6 T- V& R+ d  w) |
    for(x2=0;x2<=3;x2++) - N9 i- w1 v( B" P9 ~% f
      for(x3=0;x3<=3;x3++) 5 a- M$ @: G) j7 V; _8 _
        for(x4=0;x4<=3;x4++) & ]% Q0 L  n3 @5 `% E
          for(x5=0;x5<=3;x5++)
" N5 I  y# ^1 l  `            {
5 Y4 ]7 {0 R4 E( G7 Z: P         a=x1+x2-x4;
7 }) r, D' h" m' R- k         b=x2-x1-x3; 1 ~' S) M# k: }' T* y5 I3 V
         c=x1+x3-x5; 7 n5 Y( h9 R, V* H+ b
         d=x4+x5-x3;
2 U5 @/ e# r9 T8 ?9 j4 L4 X9 c         e=x4+x5-x2; % Q$ r* v$ S- m1 C2 _. p
         if(a==0||a==4)
4 v2 d8 S, u1 Y3 I& s; y+ C- u         { 7 C8 y# x& K+ x  l7 |5 k
           if(b==2||b==-2)
, U0 l1 W1 }3 s             { 8 a! _$ ~0 K! M" m0 G% A* P
            if((c==2||c==-2)||c==6) + b" D! \9 {$ q: L% `, Y3 [( c
             {
9 O& s) ?/ |( y6 |; |: w% L                 if((d==1||d==-3)||d==5)
9 k; [, Z- \: J( Z& |% K; q                { ; X# p, N) K" f* F
                 if(e==-1||e==3) - }* x. j2 Q5 S% N
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
4 v3 o% p* I. _# ]+ f; ]                 break; 2 D# Y  z% t# j" c$ B$ n
                }
& t6 P$ l3 T; b& h7 n6 G
- H, h. O- k9 x4 r; \/ H$ ]             } : K' b: g( m3 K' C
0 Y* n+ N. g/ P. |. m
               }
* f, ~  a$ d% }% e2 T8 U+ \3 R; c* ^- O" \; R
         } 7 d1 T0 m' g- Q7 G

' W" W. C/ X5 N5 h& ~& K       }
9 j  k5 c& Y! n3 i}
. s5 N4 ?* [+ ]2 G. N5 h8 M; s# I# y" v$ b
编译,调试,结果为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发表的  :& b' e& [/ \8 {4 w- S+ {6 N
LZ真是AVG铁杆和程序精英啊 [s:2]

6 {2 c# y5 H& ]5 M4 ?! A  ~两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。+ M5 C" V) t8 x$ B. w

9 U8 H) r5 k. c& S9 K* j: e, V6 u! G不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~+ j$ ~& G9 c! v, y9 X' H% t
+ T0 |3 F- h: A' L. U
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
/ J8 q6 z5 y0 o* T+ g) }. O这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :* }' `# q! ~% d: z0 u& z# h) S
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.- r2 q# z! z6 X& [$ Q
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
$ G. n) t0 p! n1 Z7 |& G3 Q
能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
; A8 s) `. W  @+ [3 y转2号    1     1     0    0    -1
. S( G/ H; D( J5 o5 b& R转3号    0    -1    1    -1     0 3 K1 G6 {4 h2 Y
转4号    -1    0    0     1     1  ; r; \! H9 N' ^% [. s
转5号    0    0    -1     1     1  ( a6 u" |: q6 L4 E+ b* b* o5 P
其中,顺时针转为1,逆时针为-1。
0 |9 L6 w! d1 R$ c设每个转子转动的次数为X1,X2,X3,X4,X5 ) |* |5 m6 D8 I
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
6 D' V+ c; L6 `' b对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4); L8 J2 V, e7 n6 k! G# |
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
+ m$ l* h) Z! S, O对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)$ t1 j( B! m) F- I- R% G
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)7 b  S4 T0 O' }. I; \
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解  J" T. d2 Y& C4 e- i

5 f) g' e9 Z* k0 T/ U类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
! y5 k9 [1 ^0 G) ]) _转1号    1    -1    1     0     0 2 g, F' B* f$ K
转2号    1     1     0    0    -1 ' N: _7 }1 n) ~
转3号    0    -1    1    -1     0 , Z/ s7 I& r! {
转4号    -1    0    0     1     1  
4 C: M) i  J: T$ a转5号    0    0    -1     1     1  ! i$ N* n# h2 F
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
: P, w, Y! E8 `  V我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
0 {3 x3 C4 [' j  o自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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