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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。 9 x7 b# f# F0 `( v! v! Q- }( |

1 {! d* H9 Y/ k* {% G谜题:祖父的箱子
/ w) w+ V# |5 a) A0 o1 |. V" ^4 h6 B/ A5 }4 n9 ~, v) w8 V: a) E2 w
要求调到中间为红心 . O* B1 r* X( ?1 u: `6 |& i

% T! d% O5 A4 v) L% ]两边为方块
2 Y5 S6 }& A5 O' W
! M! K& B; z3 d分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
3 e% D4 m2 y, Z: S% ]& D
) r1 F# q8 p) `4 ~将每个按钮按下的情况做统计,画出一个矩阵。 * z+ [+ \* r5 k* a7 }& u3 s

/ R8 ~% K( v+ p* V* n9 @转1号    1    -1    1    0    0 $ |$ F2 Z  x5 }  P& K4 w
转2号    1    1    0    0    -1
6 d- f& j; v2 U转3号    0    -1    1    -1    0
$ c. ]/ ]  l2 a/ _( ~- @. e转4号    -1    0    0    1    1 4 c( C' D9 Q+ p7 N( b
转5号    0    0    -1    1    1 6 i9 Q7 i7 s. T
! E3 a5 s" n6 Q) o
其中,顺时针转为1,逆时针为-1。
4 l# U; o4 w6 r! a3 e$ P* C$ H8 }0 G
: w( e6 h! I% }6 ~7 E3 |9 n3 H, |7 i设每个转子转动的次数为X1,X2,X3,X4,X5 , M9 C! o; y$ @' S/ K

* o( C3 @+ X  B6 }- h对可能的次数进行循环镶嵌迭代。 + o/ g- c: s0 d9 s5 e# c7 J

8 T* @1 p/ G! y7 e7 o次数以4为循环,故0<=次数<=3 4 y2 t6 [; k0 b/ q

3 u2 L" I- A. J5 E) a5 z分析结果。考虑和差可能产生的结果以及4为周期的循环结果。 6 b# @& H9 o( k4 u2 V7 @3 u. s

' y# U6 {/ G: I# o* E5 X根据结果要求,对转子1,其结果可能为0或4。 . u+ A( j2 i/ o! S  U+ R

& T0 O& D! K# I% G% ?% z对转子2,其结果可能为2或-2 5 ?& m8 R8 G: w& m# @- N1 w( I* e7 B

% L- Y2 p3 R' |) C+ D, E) z3 \对转子3,其结果可能为2或-2 . @0 m$ @) L$ O* }

8 j# U" y* T  H) N. ^, Z+ u对转子4,其结果可能为1或-3或5 2 v3 _4 _- ?+ x5 W/ W8 e
8 [: e" |7 ~& o
对转子5,其结果可能为3或-1
" o2 n: y( X+ I# q5 ^% w% O1 Z# `& S. Y' T. e! g7 A5 [
TURBO C进行编程,程序如下 , s  r" h: Z* o6 E
#include <stdio.h> , G+ {4 D8 _6 a% D
void main()
" U5 J/ z9 F/ b) y5 I, @{
. H! E+ d% L' n3 _: n/ b  int x1,x2,x3,x4,x5; ! C, J5 C1 e* V$ l! H
  int a,b,c,d,e;
# B' j, ]+ P. b! d* f: ?! K2 z  for(x1=0;x1<=3;x1++) 9 k% f; c/ t7 i9 q/ }' Q" w, `
    for(x2=0;x2<=3;x2++)
2 L$ [- m' z9 r1 B; U  N      for(x3=0;x3<=3;x3++) . h8 A* [$ ~+ L- j
        for(x4=0;x4<=3;x4++) 6 F' M! k7 H' X- n5 F0 _9 c5 p! w
          for(x5=0;x5<=3;x5++) , J6 U% n2 ?0 n9 ^( G/ t
            { # B* _/ e3 T2 T9 k
         a=x1+x2-x4;
5 F5 n! ]. w4 A, J) E7 u         b=x2-x1-x3;
7 S2 q" v8 D+ m6 m         c=x1+x3-x5;
# t$ Q  a2 ^* B$ C$ x' q9 w7 y( s         d=x4+x5-x3; # x8 U7 M; C5 |" F( N: O
         e=x4+x5-x2; $ x; ^+ @4 L$ I) T
         if(a==0||a==4)
& {" @4 L! k! ^  ?+ a& R         { 1 |4 e' i' C0 O) U
           if(b==2||b==-2) % O; J: f0 [* s# J% x0 @: T& D
             {
) f" W- b6 T' g9 e1 j8 o- z3 g* J            if((c==2||c==-2)||c==6) & u$ I% E2 c7 {. T2 g+ x
             { ) q% N2 E: ^0 ^- ~
                 if((d==1||d==-3)||d==5)
3 z, u( B6 X( P( |& w% `0 s                { ( c% W; j4 M& N# |
                 if(e==-1||e==3)
1 G  h* s9 U2 D4 `/ g                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
% \& i% p4 _7 R* N0 e                 break;
! `9 z9 v- d, k$ w! D! C                } 2 [* L3 B3 ^$ L0 Y3 U. F0 J' G

5 J5 g. @' C; T, J6 H6 n             }
( v  A% z- P& q
* h7 T# ?9 K: z, N8 ~               } ; s/ q: F& B9 t7 {; U1 i/ ]

0 ~; K$ `! }( e8 u+ X1 s3 N9 ^         } ; K* v0 \) Q0 b# J
7 T& o. @- O/ K: G9 {) c1 Q
       } + u! g! G/ B- k. S3 y6 P* K
}
* R8 x# g- `$ V/ X* s- P4 ]* s* n4 D+ o* v9 N$ N/ K7 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发表的  :2 H/ u/ n  P$ V# H: O! S( ]) c
LZ真是AVG铁杆和程序精英啊 [s:2]
7 L0 U3 [' `$ U, l( U
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
  f. w( j8 w4 {3 N7 O" A" ]( n
; I1 J! I. b) `) r5 g; ?) g, [不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~4 Q+ c, ^! z8 M3 O

# d/ M# Y' v3 P% z- g3 v! ?0 ^静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

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

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
* w' k) y' p1 U不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
8 d% ?0 z/ @; T! T5 x这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

7 W% O0 I% _6 s) L) [能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
7 @/ c, R9 i0 L# i- L) \" ~转2号    1     1     0    0    -1 . W4 T9 v4 _0 T
转3号    0    -1    1    -1     0
, T2 z1 Q+ t% \- q8 U转4号    -1    0    0     1     1  $ R5 N# ]/ V) }+ ~( g  [% i6 X
转5号    0    0    -1     1     1  5 K  x% }! a" `7 |1 Z$ m
其中,顺时针转为1,逆时针为-1。
; O4 M; G- {# [8 `% o设每个转子转动的次数为X1,X2,X3,X4,X5
/ f# V. Q! d) l& J6 A; F对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)( V) ]. |9 \9 H3 [' a
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)% f9 e  B; r; F8 n( S% M6 U% U, j! {
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)% n9 R8 O3 t0 {
对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4); x2 ?+ G- y7 i/ q# p1 Z* D
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
- r$ u' z3 p* @! L+ d. D/ o2 [由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解
2 N, T4 v; k* V1 i8 N" J6 v. g8 P0 R% {! `3 l+ L
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :
% G2 b9 g' _, K5 `% [转1号    1    -1    1     0     0 & h. B- I, e0 M" r
转2号    1     1     0    0    -1 ) Z7 c- x! v6 m4 ]+ k
转3号    0    -1    1    -1     0
9 Y0 R7 ^1 G7 t& A0 `转4号    -1    0    0     1     1  
# z+ r& ^3 g9 r# Q# \/ x- W" b4 G$ T  F转5号    0    0    -1     1     1    _3 V& N; [/ U4 e% n) e0 D: m
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~+ J! e; f- |- B/ x7 Y
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||; B8 T* z9 w) \  s
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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