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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。
* K2 _& o4 x  n
; D( S8 f/ M7 x/ Z) x谜题:祖父的箱子 4 H( w$ e: q( \1 o! H  W& |

8 z) W( `% n' U要求调到中间为红心
( b& R1 a8 o2 `, ]( {1 j* a8 G8 w8 }' T4 H
两边为方块 $ L7 n) h0 A( i$ T& H5 `

+ A: N! G3 a/ s4 R" M' x1 Q分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。 ' g$ ?6 t) \5 z, q
# G8 D3 K$ u0 Z) B* @8 {
将每个按钮按下的情况做统计,画出一个矩阵。 % R- b! H$ f4 J0 n' N; n

. N! q* w! L* \9 ^6 F" o6 r0 [转1号    1    -1    1    0    0
5 @& K: t  ]/ t: s4 v' w转2号    1    1    0    0    -1 6 a& A2 b8 j; G
转3号    0    -1    1    -1    0 - r2 M; W' V/ M/ s# w  C. s5 {
转4号    -1    0    0    1    1
" f% z. E* d( ]. N; @1 s转5号    0    0    -1    1    1 " r& o: i* I7 ?) a6 ^' ^* H

- ^9 c& W4 _" k- z4 w9 ~其中,顺时针转为1,逆时针为-1。
( P# N9 c' n8 V  A
0 ]5 p& @# v" f) a设每个转子转动的次数为X1,X2,X3,X4,X5
- H4 C5 [; g, X( S. L) c* l7 _: ?+ U5 [- J6 h) ?6 e
对可能的次数进行循环镶嵌迭代。 4 u6 F" u; w* R' {( ~% p0 c
7 o2 K0 B( X& N/ j0 V6 ]! M
次数以4为循环,故0<=次数<=3 + O# z/ H& |4 i* G) j( d& `) X

. c8 d/ D/ u% E3 d分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 # s1 x$ P$ Q* c* N3 l2 M7 e

4 k9 D5 D* u0 U2 b) H* j, c- f根据结果要求,对转子1,其结果可能为0或4。 % n6 I+ F  U& l& v' o+ [

7 x! N6 M9 f( l* x% E/ ~对转子2,其结果可能为2或-2
  J1 @, k6 w8 ~) Q* x! I! ]: b; Z7 `
对转子3,其结果可能为2或-2
) l1 _. g) |2 j) N6 K1 ^/ t9 l# K) Y9 U
对转子4,其结果可能为1或-3或5 9 r) O! p5 @* X! \- }
$ H+ S% Q- k5 r% L7 u
对转子5,其结果可能为3或-1
% x$ s9 z: ]9 e/ M8 [
8 X3 E6 o& `  Y" W; x8 S% r( VTURBO C进行编程,程序如下
) V& n; q" m2 s+ X3 f4 K; b! w' f#include <stdio.h> ; o. ]8 c* N0 h/ P& f' e
void main() 4 @7 `. ~; z5 t9 k4 I( _% ?
{
4 D6 i( {( X: w  int x1,x2,x3,x4,x5; 5 f2 W. I' }5 [. I7 l* I) W0 b
  int a,b,c,d,e;
. L+ x/ ]: o% c6 F  for(x1=0;x1<=3;x1++) ( C' s& I" W0 c. H( [* M  U
    for(x2=0;x2<=3;x2++)
+ Y4 _  Z! _- a      for(x3=0;x3<=3;x3++) * ~) U) W. C' L+ i
        for(x4=0;x4<=3;x4++) 0 x$ U2 U# ^4 O6 _! V
          for(x5=0;x5<=3;x5++)   l* b( G7 E4 ?/ K  v- A* c
            {
' |% y# ]4 J/ ^         a=x1+x2-x4;
8 `& N, ^! |" j1 W         b=x2-x1-x3;
9 |2 Y; F3 y* E         c=x1+x3-x5; ! o# l$ s1 |+ }! n  Z
         d=x4+x5-x3; 1 p& G8 b8 @& E. E6 }: h1 C: {
         e=x4+x5-x2; ; i( Y: p5 m6 y) f0 N# @6 C
         if(a==0||a==4)
( g% n3 G6 G, \  p  Z9 a         { " e: Z* r" Y8 {2 f- r
           if(b==2||b==-2)
3 C/ E; O* L* \7 E             {
. C" L4 G- K7 ]            if((c==2||c==-2)||c==6) 9 X! v3 n4 Z. q1 z) C
             {
$ c3 N( N/ V8 X9 w  |# y                 if((d==1||d==-3)||d==5) + H  x" z0 L) f1 q( \' L- _
                { % J" J: h8 [$ u  Y$ I8 U
                 if(e==-1||e==3) # M6 m) k9 z8 P$ o" Z( ?
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
  ^: |! U2 X. e6 t% \/ L                 break;
3 i- I' ~$ Z' I; e0 ?- ]                }   }3 r7 U% H; Q) ?! d/ J
& X2 m5 s* v5 q& l' f* ]
             }
8 w+ m( b0 L( l5 l0 D$ W6 x
: T3 Y) x# z' n  `; L               } ! n5 |9 E+ C1 Z# L7 j, C% ^. a
3 L: h# ?# i0 J
         }
/ h7 W2 O2 u8 }0 m! K3 f
4 m6 O' [" K+ X& M0 v7 _' R       }
+ t& c# K6 K: \" c! X} & m% n# s8 l1 R# o1 R6 g
' j$ ^, v; ?4 ^  k1 k6 d# @+ Q0 U
编译,调试,结果为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发表的  :
( A5 F0 w$ u  Y6 k8 k9 hLZ真是AVG铁杆和程序精英啊 [s:2]

+ o2 u3 X! Y5 ?8 E: q. I  X两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。% W! |1 R, A$ s5 m7 F+ D* K
& ~- e9 p8 u6 S% _1 o
不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~
$ w& X" I) `; u# B0 a) i2 i5 X0 i* o' Q& O2 I
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

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

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :7 ^( N  `& Z$ H7 U& v
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.6 d/ G+ Z' q  o: g" g, U: F
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
* f  t) X6 t. I- x$ @
能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
, S& m5 Y3 Q9 b! [5 D转2号    1     1     0    0    -1
# l! i* n: o3 B, g6 l: h$ U转3号    0    -1    1    -1     0
7 f7 _" U% u8 |4 s+ m转4号    -1    0    0     1     1  ' `" C9 H  J* }/ N1 A
转5号    0    0    -1     1     1  
" {( e& Q; k, u, }0 ?, X. h其中,顺时针转为1,逆时针为-1。
0 e+ f$ N' w' t* W$ Z8 {! W设每个转子转动的次数为X1,X2,X3,X4,X5 0 K  c* R2 k  p( L* ]4 j. D5 L
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
' D  G+ P- s+ I- _0 O3 Z; i对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)
5 E4 p1 [5 Z( w! p: c3 T对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
2 c; O+ F$ Y0 `* g# F) O. n/ [' \对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)( I& s% K4 W2 c' i
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)! o3 w) A; @" U& s; `3 B
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解! F2 v# B* D9 d; d. n4 k: Z& }

  ~) w( @- u9 b* J% Y  E4 t类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :; O8 @2 M! r2 Y( ^5 F: |% d3 U; b$ C
转1号    1    -1    1     0     0 ; B0 T: }; w( S9 i
转2号    1     1     0    0    -1
! x0 i3 @1 w- D; l1 R, _转3号    0    -1    1    -1     0 & r4 t7 d6 ]" d2 h* C% o5 L
转4号    -1    0    0     1     1  & X/ z0 g3 I0 h  C4 h' t. ~6 z1 T
转5号    0    0    -1     1     1  
: ]* K% ]# N$ d0 p$ D/ |5 @( g# j6 ?" H.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
3 Q2 g8 S( Y8 Q4 R我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
: S0 P/ z9 W1 y5 S. R9 g1 Q自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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