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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。 , s4 D( v- K( v! s; _

$ [4 V  o5 ?0 z谜题:祖父的箱子 6 O8 p$ W" W/ V2 c  N, u
4 U% ~+ E. A' ]
要求调到中间为红心 * @5 k" Z6 E1 k8 f

. X+ P( L" u) E! Q2 V2 \两边为方块
- J' k+ u3 l) K; b" t. K8 V/ D2 g2 O$ I" [
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。 * G! E; ?6 D( [: p3 a; ^

- k* C: J9 y+ l$ n: c: _0 R- K9 p将每个按钮按下的情况做统计,画出一个矩阵。
) O! D" j4 P$ \8 X; ~. {+ w$ @  }
1 m" U. b& H" |9 T转1号    1    -1    1    0    0 " e. Y4 N& T9 Y$ `* m5 H5 [" W& \
转2号    1    1    0    0    -1
* Z- b) r$ O, k* D转3号    0    -1    1    -1    0 7 E" J; l; m+ w2 J" h
转4号    -1    0    0    1    1
+ W! B9 d4 s; `转5号    0    0    -1    1    1
& \2 Z4 X3 k) ?6 v5 D. o6 t5 o. ]+ {( k1 d# k& A2 Y- c" x
其中,顺时针转为1,逆时针为-1。 - Y3 J# J2 @1 c. c+ ~
8 q# B, x" i$ O" E0 A
设每个转子转动的次数为X1,X2,X3,X4,X5 ( Z: R4 h. K! X9 r) A" w& P( u9 j

0 ?# j5 S# k! k! b对可能的次数进行循环镶嵌迭代。
. u0 U, y4 s& i; [3 G9 P9 B! M- F3 Z* o: _& ]5 r: G
次数以4为循环,故0<=次数<=3
  v* U: x6 {  v+ ^' l1 m( o/ v. T, g* Q
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 9 C7 Q# |, C; V& X- P  U# G0 \
, Q& k' z, ]- J9 _0 n, L
根据结果要求,对转子1,其结果可能为0或4。 4 E% s, q0 k4 d1 l+ S+ a8 M

* [/ I6 E6 \6 D6 t对转子2,其结果可能为2或-2 4 `9 m" Q( S& W( H* G3 h

/ O7 u4 m! ]. Q% W对转子3,其结果可能为2或-2
) l. G6 }/ ^4 C' V1 Y6 o
" L; l! a+ i" E) t对转子4,其结果可能为1或-3或5 ; m. f! H, h/ p8 D! A5 L
& P3 \4 V4 _* S9 L
对转子5,其结果可能为3或-1
; k! e, Q0 F  v* F" L
3 U; n& _! F+ D5 a$ _  j* S( C3 _$ KTURBO C进行编程,程序如下 5 a, u: Q. \- B2 t) P# n# n# o2 `
#include <stdio.h> - E1 c9 f! x9 j/ g" t  [
void main()
  |$ d" H0 c% D  r# D$ L3 s{
1 K+ l, M/ R6 V/ t* M  int x1,x2,x3,x4,x5; ' ]1 v2 n7 ~. c  @
  int a,b,c,d,e;
2 c" t8 y4 b) U2 g  _# V6 f* j  for(x1=0;x1<=3;x1++)
# Z6 |8 `7 ~+ C  a  N5 y; S    for(x2=0;x2<=3;x2++) : N) B8 B# @2 h8 B* d$ S/ b2 N, {& T
      for(x3=0;x3<=3;x3++) 7 a. k# ?$ i& d, E
        for(x4=0;x4<=3;x4++) 1 O0 C  q/ ]( `( e: N/ O" R- b) Q
          for(x5=0;x5<=3;x5++)
7 L& a1 |/ a! r# G$ Y* T2 n' {3 ^            { 3 |7 f; n3 }& S) n' T9 j8 ~
         a=x1+x2-x4; * u7 d: W: _- \) @9 @. s! c5 d8 {
         b=x2-x1-x3;
, a" `) }) I  W* Q, x' x3 ~1 {         c=x1+x3-x5;
2 N7 G: g0 I, k3 A& |  C         d=x4+x5-x3;
' e* b! s  w, Z& h         e=x4+x5-x2; 8 E8 U" w& f. H0 A% \+ V+ @3 Q2 }
         if(a==0||a==4) , `; d. \5 R7 Z9 l- }5 C) ]: H
         { 5 d& A. m$ g, X( Y. Q: I  D
           if(b==2||b==-2) 7 Y+ z* }. [* X9 `) ]$ s  w* B$ }9 p
             { . E9 Z' K/ N$ Z5 {" w, ]
            if((c==2||c==-2)||c==6) ! W# {* Z- I, w# N
             {
& G9 `, s3 [! E6 `                 if((d==1||d==-3)||d==5)
+ E1 H* X( t7 t+ m  n% I                { ' T  ~: ], Z- h# y# k- e
                 if(e==-1||e==3) # |8 e7 _5 |: c7 r0 t1 z# S( p/ r
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
$ `) J% t$ x- ]                 break;
! B. A4 O! W& ?' {. n                }
8 J' M' L; c# P3 ^
( y- _& a$ }1 O( t- n, m             } 1 q5 j7 d& X. P, B
$ n2 \" v: x3 t2 i- w7 h/ T
               } - l( w- A. L" X2 f
% y) A, S/ ^0 s1 i4 J. ]9 n
         } ) G& y1 E' A5 @$ L3 r& b8 h* O% E  [
4 o8 [1 w! S) @2 y' T1 a
       }
  d6 M8 m7 S4 X/ n5 i; a}   b5 E8 R- U/ k8 k1 b- ]7 [3 a8 g9 t
7 F% r3 [: W3 v; t7 N
编译,调试,结果为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发表的  :) I; S% J( H  v7 k( l9 s, M  N
LZ真是AVG铁杆和程序精英啊 [s:2]

$ a2 k9 I  p' k; h2 p两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。  R' \2 p" v; A0 u- d8 g( K0 j( U5 X
6 F- ]. X) h) |7 ~  ^$ m7 [
不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~
) i2 X9 L2 Q. w: I" V8 N3 b( `" d9 l; K& W% F9 {& {
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

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

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :6 F1 J* s! S" Z
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.  A$ x0 z- A) e& F; y) c
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
& d# C6 A- ?0 D) u+ x
能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
( n( ]; f0 U& F5 O转2号    1     1     0    0    -1
1 p6 E9 `, p) k" l! B转3号    0    -1    1    -1     0 , |& @6 f' \" U# D
转4号    -1    0    0     1     1  
4 u( c" U2 b! T8 h8 @% a1 o转5号    0    0    -1     1     1  9 t9 b+ Y- s' ]* L# W7 j! r4 ^
其中,顺时针转为1,逆时针为-1。: k$ Q& x, w% b" x' K3 R
设每个转子转动的次数为X1,X2,X3,X4,X5 * x- l0 l% ~+ p( t6 y( R' c6 m+ P9 u+ G( t
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)$ N" V) K& d/ i  U2 S; Z6 h
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)4 }: t5 A) M/ s0 d  c) r
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)8 U8 G1 K  i1 T: ]# G
对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)8 N' I7 y9 f6 h* O2 u$ ?
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)6 o3 ~8 s  v# z8 |
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解+ v. c/ D+ N/ V/ C. k* {2 N. i
, A$ z% l$ J. C3 G" Y/ g% P1 }, i
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
1 a/ T; R8 x: `) R/ H8 r5 x; G/ P转1号    1    -1    1     0     0
+ D8 r  Y2 c( G- j# |  Q& {' p转2号    1     1     0    0    -1
8 }7 A, n' b2 D$ _9 v; o% x转3号    0    -1    1    -1     0
3 ~6 L! t& R/ E! Q: l0 R1 G转4号    -1    0    0     1     1  7 H4 b" Q1 I. k7 b# S
转5号    0    0    -1     1     1  
: h: @$ N. N+ @6 z. U+ c6 u$ m% D' ?.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
% `. w: y1 f  F7 \/ X我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
1 m1 c0 e" [9 ~, O, ^自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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