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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。 * e2 @8 d7 s8 r7 D

7 A' M! d9 ?2 s" O5 T9 l谜题:祖父的箱子
5 [$ l( j- U' F2 [  C: _# i3 P
/ }% h+ ]% |. R1 ]' e要求调到中间为红心 5 E6 F7 j9 ^6 U* m! O3 r

- j- ]3 s0 q% K4 V8 r& S4 Q两边为方块 ( v7 E5 ]5 W4 g# E1 X4 B! M" K; B# Q
# o' Q4 n8 o5 x6 [7 \
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
8 d9 D. `. a) D! D& R/ n+ {, G
! Z, N" i3 o. _2 x将每个按钮按下的情况做统计,画出一个矩阵。 / |' @! ]/ v+ s9 H( l5 x

% X, f6 A7 K$ }3 S' [8 s转1号    1    -1    1    0    0 0 d4 i4 d4 ?. ~% t  ?) J# R3 x' z* ~
转2号    1    1    0    0    -1 ) o9 y9 ?( Z$ W; i
转3号    0    -1    1    -1    0 , z! s5 U' f% }8 E" |0 m
转4号    -1    0    0    1    1 / g8 i: e" b& C, j2 e9 k9 U
转5号    0    0    -1    1    1 7 k3 `8 L2 j$ u2 q4 m
# |3 V* E* u$ Y- j# ^
其中,顺时针转为1,逆时针为-1。
2 z1 V+ }, ~* U4 {! L9 A) J/ F0 r  t% G; T: y" ~  @# F, P) x1 t. K( I
设每个转子转动的次数为X1,X2,X3,X4,X5 * F4 a) }5 h7 T

( H  E& [1 X' l5 ]- N) G对可能的次数进行循环镶嵌迭代。
- c; q1 |- l; o3 }+ J4 v/ p/ b! Q( p+ K: Q- h5 k1 Q$ K$ {" S
次数以4为循环,故0<=次数<=3 ! }3 I' h* \, L# ]0 S2 F& U, o
) F, o/ E& Y) u( O' \# _
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。
* h2 s- Z( F# {! @. P" c0 k% S# O1 C+ l
根据结果要求,对转子1,其结果可能为0或4。
( M( {& L+ q" h: d) X$ {  ]+ }0 j3 x6 @5 I2 W5 `1 ?
对转子2,其结果可能为2或-2
. a2 C( Z4 x5 }# Q
6 `" F  J" w$ N$ U$ e2 ?2 }对转子3,其结果可能为2或-2
! C0 r/ M8 t& ^, S  l$ r) W3 C" d) w& A; w# r/ s
对转子4,其结果可能为1或-3或5
6 y. s3 g9 h9 B; Y" b  F8 P# P$ t" k# y6 f
对转子5,其结果可能为3或-1
0 D' a% l1 S; O$ Z
4 B6 v& f+ f7 c2 d) sTURBO C进行编程,程序如下 0 z) {8 f8 n9 S8 i; v
#include <stdio.h>
! q+ q' h9 Z! L1 C6 yvoid main()
$ a; y& [+ F# I" _* r! v{ $ q. `) ^# D* N2 u$ k& Z" m( ^
  int x1,x2,x3,x4,x5;
: s5 I  d2 C3 k5 O; q  int a,b,c,d,e;
: t% o; t) }3 F  b9 I2 ^# t. j  for(x1=0;x1<=3;x1++)
4 Z) b( O$ E8 o/ f/ ]" P6 Y8 B" D    for(x2=0;x2<=3;x2++) . B4 {. F" ?+ t# |  _7 U
      for(x3=0;x3<=3;x3++) ' N7 `2 {$ U6 m+ J$ H
        for(x4=0;x4<=3;x4++)   f" Z$ n; {# q: n6 \
          for(x5=0;x5<=3;x5++)
6 r! d& Q. V7 O: s, s            {
$ F3 D2 k# a+ B         a=x1+x2-x4;
( z' t. \* G% `* m         b=x2-x1-x3; 4 E1 X# j, b; G
         c=x1+x3-x5;
; I7 q: |! M7 ]* y7 }         d=x4+x5-x3;
6 `1 U1 @, T" U1 N5 B         e=x4+x5-x2; % m3 c% m! S4 U% p
         if(a==0||a==4)
4 q+ U! O& P9 i# j) f* \         { . c2 ^+ t- }; _. Y9 D; u" k0 Z
           if(b==2||b==-2)
8 {+ y2 F( W. t             { & w. n! X4 I) k1 s0 U( [
            if((c==2||c==-2)||c==6) # L) n9 `; K" y
             {
: N7 e, m2 V/ o: k/ Z; n* v! X$ V                 if((d==1||d==-3)||d==5)
: i+ u4 K7 Z3 V6 h3 t                { : R4 V+ @. H9 u5 A) b% X  a
                 if(e==-1||e==3)
. j3 B2 R4 S' C1 N' S; p                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
' t( z1 [1 B- B2 C) z7 P7 d( Z                 break; + z$ P  z% p/ C9 V& Q
                }
' T" E( ?% x" M" d) O1 i' |
5 B# h. W2 {: g* j: H* `$ D             } ; e" K/ S: n) G  q: V# Q& K
$ g1 _2 t/ M8 X! Z/ f
               }
" j+ o2 }  x; F% x0 t# l0 \, f; E6 a. n1 u* Y5 m* K# v
         }   h2 |. h+ G$ o4 B8 a* P  k* W1 i

9 I7 C6 D6 c, L" t  ^1 H! n9 D       } " x4 x, O6 K; t$ }2 ^* v
}
9 E) g/ W( M" _7 X
  T+ o! O( y5 M' M9 y+ v: P编译,调试,结果为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发表的  :
" f" b1 L3 X6 G: [LZ真是AVG铁杆和程序精英啊 [s:2]
. T/ w% Z* B4 T0 O, L
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。& |0 e4 R: m' y, m3 P8 P- A

! J, r6 U# J; r6 V, U不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~
9 A4 P! |2 W# q5 W
: U. P; Y! i- d  u4 H8 E( B静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.8 k0 n: u$ p+ I! C" h1 h
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :% V7 q; r$ }# f/ i
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
, |& [' N( G3 p* U. S' l$ _. a; P这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

' h( g8 D( c# R7 e* D4 J能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
; W, ]4 ?8 |9 d转2号    1     1     0    0    -1
% |& `( U' w, W; H+ b; X转3号    0    -1    1    -1     0 8 Z4 s, X+ w- ?" ?5 j/ A$ z9 r" P3 k
转4号    -1    0    0     1     1  
: m, ~5 y7 V2 ^! _4 H: x" n% M+ [转5号    0    0    -1     1     1  
4 J( n5 V: X( K其中,顺时针转为1,逆时针为-1。
( H4 ?& [* J$ g: l/ h设每个转子转动的次数为X1,X2,X3,X4,X5 - I3 F7 k7 e0 b' Y, z" I
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4), `3 q6 G1 v% ^& h2 _% v6 [! t' Z0 n- E
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)* l, w; {9 Y3 j1 G: }
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
) _  h6 w2 J# y! ^0 g" I对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)
( ~' R* B: i5 u对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)* K, Y% V8 f2 K
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解
8 ^$ w! w2 T3 N
- g( o7 @' v4 b8 ~' b# U: R类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :3 N- Z1 X9 R8 n. z
转1号    1    -1    1     0     0
/ j4 ^: b4 [) ~, |3 F7 h转2号    1     1     0    0    -1
; h3 t0 ^( R, {8 E( k) Q转3号    0    -1    1    -1     0
8 d; Q$ P9 c) N0 Q转4号    -1    0    0     1     1  
9 j3 h! v7 c8 C3 F转5号    0    0    -1     1     1  
  S- m4 `/ m2 l( U) M: D.......
谢拉~~你是AVG-PRO,^_^,崇拜~~/ D4 q: O; D  @$ X* C4 C
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||- P2 x- J* K5 x$ K! K: k( x
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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