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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。 7 H: W' v; w: ]2 ]
2 Z/ I! r# H( V6 A. l) m6 \3 x7 f
谜题:祖父的箱子 ( c3 q. c/ O$ ~# M% e- [$ `% e7 J2 \

# ]5 a6 g3 r) n要求调到中间为红心
5 O: e' i) c/ M4 P8 d* ]+ C! R) ]: E( \! [( d& Y: [5 K0 w
两边为方块 # j8 i% v6 l7 X" N0 Z
2 v+ K: }1 s* a3 L
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
) P. \, X( ?$ L* R
5 e/ B; i8 Q9 P# |: _& V' C8 ~将每个按钮按下的情况做统计,画出一个矩阵。   c9 }: U; O1 s- k
8 p$ `2 n. q- @+ n4 n6 Z. f9 Q( m
转1号    1    -1    1    0    0
; t# j$ {, n7 B" x' E' X' j转2号    1    1    0    0    -1 2 y: }( p. q* Z1 H3 B; S
转3号    0    -1    1    -1    0 & U. o! q/ X# W0 |. s2 N$ P% b
转4号    -1    0    0    1    1 ; [: L: b: G2 n. V
转5号    0    0    -1    1    1 ' r6 z: }! G1 W# Z/ s
  [/ C$ g  H( T) w) ^
其中,顺时针转为1,逆时针为-1。 - f1 R/ u1 G2 H
2 |- A1 p( H3 t, U; F. Q
设每个转子转动的次数为X1,X2,X3,X4,X5 & r& q0 S$ q) i5 I/ p& H
: s1 G5 l) D. U. F7 c
对可能的次数进行循环镶嵌迭代。
( R' Q' ]8 H  p, z7 F8 c  E' F" q% T/ x5 B6 G
次数以4为循环,故0<=次数<=3
; L5 a7 I6 h; r9 a0 X  O+ ~* o5 u2 o* [2 f  d4 ]
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 $ |# Y9 K4 V1 Q% m9 t

$ |' r& B  \8 _& L3 n- D& V根据结果要求,对转子1,其结果可能为0或4。 0 O7 q: a+ m9 y1 s3 X( p
: @) E( F; _' G1 J/ `
对转子2,其结果可能为2或-2
7 z4 P' L1 _. f+ ]" V6 M" \6 f
+ x" h& a( `8 p对转子3,其结果可能为2或-2 3 s& T% \1 S5 X' _) P" m$ `. }

; Y# I8 [  ]# F2 ~对转子4,其结果可能为1或-3或5
' f9 S' d; C5 l1 K, M3 [$ h" ?3 d, R
. A7 R" Y5 l0 F$ Q# A/ z+ s对转子5,其结果可能为3或-1 / s. w6 A  e# q+ P5 K
0 f# ~  B2 J; M) N8 K* [! h% h0 v
TURBO C进行编程,程序如下
! c% K' b, n# y! ?. z9 a8 d$ U#include <stdio.h>
' [; r, [4 h8 O1 U' xvoid main() 6 a& C# @6 S! r( f+ X
{
; v0 i1 Z5 f3 P; d, o" n  int x1,x2,x3,x4,x5;
6 v$ H3 c4 y2 G; |4 u! p  int a,b,c,d,e; ( o- O+ t( E( }, x2 t" q  S9 t+ j
  for(x1=0;x1<=3;x1++) 6 m6 E3 x( m# B
    for(x2=0;x2<=3;x2++)
; [: v: i/ L4 Z7 E9 C1 l0 Y5 C; ^! Z      for(x3=0;x3<=3;x3++) 1 z7 K% X' _. z/ o& p, H
        for(x4=0;x4<=3;x4++) 2 p( ~4 s$ [$ z! M! i3 J
          for(x5=0;x5<=3;x5++)
) j+ ?8 {( @3 i            {
# [1 X4 Q% T$ v/ [+ T8 \: w         a=x1+x2-x4; " h+ {9 k9 K; R# j
         b=x2-x1-x3; 7 _4 h5 \+ q7 Z- Z
         c=x1+x3-x5;
1 Y2 z7 x2 b- r5 }         d=x4+x5-x3;
# d$ y3 F/ o: ?* O         e=x4+x5-x2; - L, ]( k. w" y9 b+ `+ J7 s' E+ {
         if(a==0||a==4)
" E* o) ?! `& l% m         { $ o( i1 o7 p# m- E6 h( w% o
           if(b==2||b==-2) $ h$ {& W6 E: `1 l0 Q
             { ' p3 Z# X+ j+ B4 G. A( Z
            if((c==2||c==-2)||c==6)
1 {2 S; G& ]7 K; z" u1 g4 D             { ' A/ p! w1 M" H" y
                 if((d==1||d==-3)||d==5) * s! E' ]* Z$ I" X
                { ( l: ^' B; F& H, l6 O
                 if(e==-1||e==3) ' s8 _: ~$ u: }8 T; M; B
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
5 m& `1 d% n" ?# p. p0 F                 break;
5 L* s) W- M  q7 l                } " K! C& `( {3 @. r9 A( h
4 Y$ |7 }7 _5 [: t/ B9 E
             }
) h; W# o; B$ M0 `) D! p: c5 k/ s& O  z. q; ?8 j
               } : W; b6 e( a' |( b* X. v

/ {7 E: w/ H9 O3 Q" ]  i         }
% s3 c. F; N7 s
6 `! e7 J+ k$ p3 r' ]4 F6 Z8 j       } * D" u, @* O4 ^' D( ?- `) _( x
} ) |! K" o' `& M

+ q( W' x  D- }+ D  m编译,调试,结果为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发表的  :7 @4 S) n/ Q% A" l2 i# W
LZ真是AVG铁杆和程序精英啊 [s:2]

; b2 N$ Y  ]0 z$ b& @( m+ q( p两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
9 B5 f( r8 x$ F/ ^
' l2 ^3 N0 |+ J1 N不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~" }! D- b( p% ]6 E1 F
5 t/ _9 g: _5 L/ F: y3 r
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

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

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :- Q% j/ ]6 n3 S" Z+ C% d3 }
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
1 R! J' j4 B& W这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

' `8 w: n7 g4 }9 I4 ^能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
/ Z% s$ B7 ]2 e' R8 j转2号    1     1     0    0    -1 # j& G8 A- h9 B, }  f" Z
转3号    0    -1    1    -1     0 0 y6 H$ O. @" S+ ~* y. J( ]
转4号    -1    0    0     1     1  
/ K5 O( l; I1 \: G" V% v转5号    0    0    -1     1     1  
- j4 h. I! `, i( j9 M其中,顺时针转为1,逆时针为-1。
, ]0 ?& X, y' T! N设每个转子转动的次数为X1,X2,X3,X4,X5 6 q& `7 I& v; J
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
2 k# n" l6 w! s* `* c+ _对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)
' U0 s" Y, K6 v) c$ W4 o" Y* y& R' I7 w对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
1 R. x1 h8 H; U0 G2 s3 a7 }  L对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4). W6 p- b% G8 c7 A
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
- d* x: A' }) d, N; K+ ]( n由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解3 p+ }! ~0 s$ ^- G' ~$ P3 ]

& O6 q2 H. M8 _9 W类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :/ b' L# ?  }: W! N
转1号    1    -1    1     0     0
* Z1 V7 m* d/ B4 `6 x6 @( C; @. E) C; F转2号    1     1     0    0    -1
8 j" o' C  O/ ]9 u% B( W6 N转3号    0    -1    1    -1     0 6 W- ~$ p+ v" H1 P
转4号    -1    0    0     1     1  
' _. x! {2 e- F8 Z转5号    0    0    -1     1     1  4 r) y( Y0 H5 p% R$ }8 M, q* K
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
7 {. i. q7 q: c( q; @; R7 E9 H$ Q) L我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
& [: M' g1 J  _6 {! v* `, X自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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