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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。
9 W( x+ R4 T& E1 [9 Q( R  H' }( X4 S+ I- r5 O8 d
谜题:祖父的箱子 ! X5 ]5 K6 G# c4 A( F

, W$ p# x' ?) w要求调到中间为红心 5 G) q$ K1 N5 \* ~0 Q, W5 v0 E0 a

' p; P6 L5 m' x. `2 w, A/ c两边为方块 9 m% o8 K) s, p. |) e* N

+ \6 Z. B, ?( ^' ^, E3 ^分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
# W: x: j) h& i# p+ Y
5 a. D: |  ^- o3 K& @& t  M/ B& X将每个按钮按下的情况做统计,画出一个矩阵。
2 ^! K; T) F3 h' W, y8 S$ e8 W- x+ s; C5 h
转1号    1    -1    1    0    0 ( Z* v* F3 T# _% C
转2号    1    1    0    0    -1 - i  ^8 J( `" o" ]/ C
转3号    0    -1    1    -1    0
! C5 Q: x! q! O9 I1 I转4号    -1    0    0    1    1 2 A# Z; p, x2 J
转5号    0    0    -1    1    1 : w7 o& U+ |# ~9 G: M% B

5 t4 G: m& u$ v# r9 \8 c7 T其中,顺时针转为1,逆时针为-1。 2 S/ p% K. R- `: `

1 G9 s$ }7 W# A& t$ U3 K4 b; `设每个转子转动的次数为X1,X2,X3,X4,X5 % Q1 o0 A" n. Z3 r( c' M% O( g
! f+ A. ^; L7 m2 \+ y) Y% A; b) l
对可能的次数进行循环镶嵌迭代。 , Z9 J9 c' p$ H+ ?! N4 N* ?

3 }6 h. y6 C+ `4 b6 W次数以4为循环,故0<=次数<=3 - R  L) @: v' u# _  t

2 e0 ~  R$ E' @( S分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 4 N$ ?9 Z2 v6 q6 j& ]

- A7 M7 `& J. O7 [  `根据结果要求,对转子1,其结果可能为0或4。 % V* |/ z1 a6 d2 @( i
3 ]- [3 Y8 Z6 I" E' J: o
对转子2,其结果可能为2或-2
5 l. a2 V% `2 s1 t( W. A1 X
; i- o' F) u8 U8 r对转子3,其结果可能为2或-2 1 z7 X# _/ @  r5 s7 P$ E, P6 N
+ i1 F- l( V/ ?, ?& ^+ V. ]
对转子4,其结果可能为1或-3或5 1 I4 ?9 Z3 B: }8 H

# O, O' V1 F* {/ Y2 P对转子5,其结果可能为3或-1 & J! _) o' B( h0 z6 `6 n

& E3 S' k( O, |, B( X1 ]TURBO C进行编程,程序如下
9 s/ ^# l' P- ?( U# N: z#include <stdio.h>
( j& \6 \! }( x9 L+ k4 N  @7 V- Q' uvoid main() 6 q. Z8 R9 `- K8 P, r6 f: k0 ~
{ # w/ a; S+ |$ q' H, H, Q5 O
  int x1,x2,x3,x4,x5;
& j/ z$ b/ f7 y" j8 d9 o8 x8 \- n  int a,b,c,d,e;
. b, G9 G2 }/ {: m$ j8 p/ N  for(x1=0;x1<=3;x1++) 0 V  m2 O, }7 U; Q6 K
    for(x2=0;x2<=3;x2++)
1 w& G1 D8 Z  r% K+ {$ j& ?      for(x3=0;x3<=3;x3++) 0 H4 E+ P) p; j' p! D, o
        for(x4=0;x4<=3;x4++)
% [; U8 H0 [1 d5 Y: x! {          for(x5=0;x5<=3;x5++) 2 l; f( K* j( k
            {
5 F) {' y9 l# u: e, b+ n$ k         a=x1+x2-x4; , S2 T& N# t6 {: M6 f" L, h
         b=x2-x1-x3;
" u, g7 C9 K; G- m+ J- j7 v         c=x1+x3-x5; 1 g0 j+ H4 p: _6 O
         d=x4+x5-x3;
# [& w$ s$ t: W7 B; o2 A! Y         e=x4+x5-x2; ; ^+ _% w, w9 x
         if(a==0||a==4) - U6 R% W& F9 J4 l  h8 N1 {
         { ! D" E0 B2 J6 P' q. e  X3 _
           if(b==2||b==-2) : `$ M1 i( O2 U' l  w# S/ y
             { * X: V, I/ I9 p& |/ ]2 l1 |% ~
            if((c==2||c==-2)||c==6)
, j6 M! |9 [% a             { 5 Z7 z2 y( C4 O( l' G# v/ ~" C% H
                 if((d==1||d==-3)||d==5) . ~5 O. J2 a! Z3 q" Y/ G/ T
                {
% Y  x4 G% o9 @* z" T( u( i  D3 |                 if(e==-1||e==3) ) ?8 w+ D% M1 M* v5 M  k2 a
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
# o1 B  R* |- ?8 C% c6 i# Y                 break; , Q* C, b1 J2 X. C7 m2 w. }: _! \
                } . P9 T( H; B! G$ g  {4 m* ?* U

4 }4 j7 t. H  I) w             }
! \: n, e7 ]9 g" H
& @3 |% P  M8 X! ^               } # Q4 ?. |8 D( K# s% r

4 y+ }3 e+ t! L) [) G" A3 T         } & @' `, e; m" \6 X+ \6 c4 P  h  }

( ^. _) d7 j4 w$ `       }
% B" N' g' t3 a5 w, d! ?}
1 P* w. S" P" @# h6 Q4 a: ~- U3 w& z* K/ q; m- g
编译,调试,结果为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发表的  :
' N* y8 ]9 f, C/ LLZ真是AVG铁杆和程序精英啊 [s:2]
+ `: T9 u8 C( ^# |7 m" f" G
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
! B7 ^# }# E/ x) I
& ?* \+ \7 K8 J  g" g不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~! _4 `' n) F' X
! A- J5 d$ g! n/ T7 O/ Y
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
! Y$ M& }' |6 |1 Z* j( Y6 Z- s这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
4 M. y+ O; V8 {0 j& l不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
5 g: ^# G" g. E, g  T这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
, S. ?$ a; e  \( x+ M+ ~
能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
* F! o8 e; O% Q; W0 E转2号    1     1     0    0    -1
' |$ y3 J2 @9 g9 c; J转3号    0    -1    1    -1     0
! M. j& V1 s& I+ z9 U转4号    -1    0    0     1     1  
: z( a2 L: }' c转5号    0    0    -1     1     1  0 W5 k2 z9 j+ Z; n
其中,顺时针转为1,逆时针为-1。' T) s7 p# o8 S3 b! g) I5 b
设每个转子转动的次数为X1,X2,X3,X4,X5 $ ]. {1 L) o1 ?% _0 P2 t
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)9 P& q7 C9 i1 E
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)9 a" q7 {2 Q2 G6 p" G. k
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
7 A+ t. U# u* d4 R& }对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4), a: D* Z3 b+ a
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
; u: r* C8 v8 Q' g# J由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解- m) f" y8 F5 r0 k5 B
* o7 \. \. V& {, v0 W' q
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
8 B8 j- l4 ^! W' D7 S转1号    1    -1    1     0     0
4 @& \) _& f- G3 X0 A转2号    1     1     0    0    -1
2 _# D! K3 s, r9 Z转3号    0    -1    1    -1     0 & A0 z" ^( v: b/ H+ y0 X: @: D" ]3 l
转4号    -1    0    0     1     1  
' o3 J( |  H& t; T6 F转5号    0    0    -1     1     1  / d# V- _% N  c/ I
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~( ?% X( h1 d) y  A
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||8 s* J+ s* d1 W* ~6 V
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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