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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。 2 C0 p( {8 W, F2 \" C

# B: V% V) {/ _  G' M1 l3 F谜题:祖父的箱子
+ }4 v9 P  r- |$ Y' p; J* I
9 D  Z" U1 j1 r; N4 Q5 E+ }要求调到中间为红心 ! _; ~% [; x8 _! }8 t4 j
1 p- Z2 r; B4 x. n2 L$ h
两边为方块
1 J9 \0 Z! z9 r3 ^7 E' J6 n- [) L8 G: n/ Y( S8 t* p. p
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
. I" ~8 ~" x, `2 ]5 B# q  F5 m/ z( ~8 ?
将每个按钮按下的情况做统计,画出一个矩阵。
% B: i" O, N' l/ I
: N. t* a6 w. g转1号    1    -1    1    0    0 - `2 F8 U, _% c% o+ T  y( @2 Q  f" g
转2号    1    1    0    0    -1 8 a4 l% {) T3 h
转3号    0    -1    1    -1    0
7 A6 _: K6 T1 A  d转4号    -1    0    0    1    1 $ {% T2 o# u3 V0 }/ Y
转5号    0    0    -1    1    1
3 B+ ~0 A! N8 y
- \7 N& o/ i9 O9 `9 }" q其中,顺时针转为1,逆时针为-1。 8 p4 G9 D  g: Y/ v; @% t) o
+ I0 ~/ g8 s: e! n" }/ q
设每个转子转动的次数为X1,X2,X3,X4,X5
$ g  z+ `! F2 c# n3 ?3 }/ e, \  h
对可能的次数进行循环镶嵌迭代。 ) `5 o' D( E9 n  ~0 ?6 t# ~
# k/ L% I% c# A0 Q; A( R
次数以4为循环,故0<=次数<=3 , k& O- f' }! G
& S: r( p" _: S" t; p
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。
7 m# d# Q( \* D5 o+ n: }# f. n: S
# P. Y. M1 u, V3 S3 Q& R1 }根据结果要求,对转子1,其结果可能为0或4。 * o. D5 b4 o  ^4 f( Z. @. g

/ |9 z# b/ W+ h. V8 ~) \. q对转子2,其结果可能为2或-2 7 K' A1 A+ w& k$ ^4 Y5 M
# G7 w, f! @$ X) @
对转子3,其结果可能为2或-2
/ R, W( _! s5 v4 h8 h; {) G0 R+ F; D
对转子4,其结果可能为1或-3或5
. x4 v' y( f' u
: [4 i4 g8 @% m对转子5,其结果可能为3或-1 8 c* P) C, o! R/ {
! q' F9 O( b0 O8 ]/ {/ _
TURBO C进行编程,程序如下 2 ^& c& ~' [0 F# C1 }8 C1 Q; ^  Z+ q
#include <stdio.h>
$ X. y  T2 x1 G% `+ xvoid main()
# m. `/ H' C3 z, K. V{
* Z* d) i$ P( w; |9 c  int x1,x2,x3,x4,x5; ; [" Z6 p; x- J; ~+ _' a5 p4 r
  int a,b,c,d,e; 0 A$ _* ?3 K7 e; U/ @* R
  for(x1=0;x1<=3;x1++) * k; `2 P7 Z& e) `3 R- @. L
    for(x2=0;x2<=3;x2++)
3 C, \$ g5 w, F1 x$ m% d1 m1 K      for(x3=0;x3<=3;x3++) 2 Q  `) N: t+ T1 V1 M2 C" q  S
        for(x4=0;x4<=3;x4++) % Z( A5 H7 ~3 i2 t( Q7 r5 d% y3 }; E
          for(x5=0;x5<=3;x5++) 1 Z! l3 g$ `/ f0 K! g; ^; w1 Y
            { 6 s4 m' r5 {( I6 a/ O" U3 O
         a=x1+x2-x4; $ `) p4 n: I- Q. @8 f8 _) ?
         b=x2-x1-x3;
$ k) w% o8 L7 T8 _         c=x1+x3-x5; ' ]# c. ]1 t' S) q
         d=x4+x5-x3; 1 W* o- K: e  N- V" a2 u7 W6 P
         e=x4+x5-x2; ) R* l1 k" s- A% w  Q. _0 B0 l
         if(a==0||a==4)
+ L7 `; G1 I, t         { * D- U: U! y2 U
           if(b==2||b==-2) : ?% u/ f) y. p3 s0 Z
             { 7 r( W: F' R+ `$ O6 `3 m
            if((c==2||c==-2)||c==6) 0 U0 _2 V9 }4 F8 y/ a9 a( e! j
             {
6 e/ M! Z2 R6 `" F5 ^5 k( u. d                 if((d==1||d==-3)||d==5)
- x# ~; F$ n, G; F0 k6 I2 ^                { 6 H& n  c; Y1 O9 ?
                 if(e==-1||e==3) 3 X- I. ~9 n. v) G3 E* C
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
, J7 ]1 d! s$ `. E  y                 break;
$ ]! L9 t& a8 }5 N                } 3 V( G. f  k0 M* W- f' H$ e- R; Y* H
9 ^/ z0 p2 i0 H0 |" Z$ o
             }
5 l3 [* k6 n% h/ Z1 C+ e& N7 p6 q( @' o5 x
               } & _7 S/ q( p0 k, B4 M& Z  G
' R, t5 I/ Z4 E7 j
         }
3 I; |8 p8 p  ?7 A- R* B
# j9 G# X. B  R( n3 Q& o       } $ J: t2 i2 u* R# x: t
} 4 b7 `: B& ^& ]( s2 z# c

0 ?: Z% v+ n3 _" R编译,调试,结果为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发表的  :
/ m/ i- ^0 N9 \* P1 NLZ真是AVG铁杆和程序精英啊 [s:2]
% B  X( u* i: U- ?/ E( Y' x
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。4 V% v0 [* {6 C& {$ i( M1 y! {
6 k; a; e+ z# {" q) `5 p* D7 y
不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~( d6 R0 j/ _0 H$ V$ ?  v& y  I7 B$ C

- H; S4 f- g$ u& I/ ^0 n静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
- _. `& W3 a6 g. k; A这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
: o3 J+ N, [- b, L( Z# v7 J1 ]不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.0 ?, H, I3 |& o
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

& l( r' k& S. z* ~" p$ S能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0 3 B( e0 v: U) h6 A
转2号    1     1     0    0    -1 5 ^: b, i* F( k9 Z% D2 R. q% ~8 U
转3号    0    -1    1    -1     0
: o/ U0 w& s3 K5 n1 B: a: v转4号    -1    0    0     1     1  
- q' x, k, \6 M; O3 i+ h4 m转5号    0    0    -1     1     1  & a3 p( x: F% A4 |: ^4 I* \
其中,顺时针转为1,逆时针为-1。1 R8 r1 i; m# g1 t( |& f
设每个转子转动的次数为X1,X2,X3,X4,X5 9 t( y9 `9 N( ?0 u! Z1 ?
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
0 i9 X5 n, V% C+ I/ J对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)5 p  R4 v/ O  f; n& R* H
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)$ Z  V6 F! r% j
对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)
1 O2 x. P# C' z& l# n! ^% Z$ Q对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)9 l0 E; ]6 A7 j7 P# g
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解5 W9 w" n9 e& }1 x$ p, h$ @9 u, ~
  K2 x$ U6 q( O: ^+ r$ h1 `
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
9 Q4 d: p1 C  {$ ?: Q$ E3 O0 y转1号    1    -1    1     0     0
8 ^0 T, O7 Y7 m8 e转2号    1     1     0    0    -1 0 S% p' [6 u5 t% J  e
转3号    0    -1    1    -1     0 % y0 u& @1 r7 z3 m% [, }
转4号    -1    0    0     1     1  1 j# i3 [1 R9 Z# Y
转5号    0    0    -1     1     1  
3 h, M7 ?# k) a) r( b4 S4 F.......
谢拉~~你是AVG-PRO,^_^,崇拜~~- K9 ^" R! P% V% j
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||; \+ b% j, o" G! @
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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