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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。   u% n5 `9 C: [; {& R

0 b6 ?! K6 [3 X2 y+ D谜题:祖父的箱子 , X1 v, Y. N4 Z  x" v, `9 g0 A

# I4 W& [4 I( R  u要求调到中间为红心 / y$ _9 A: d( M) Y/ g
* v' ]( |: J) r  ^4 j3 F" e* ?
两边为方块
: ~; I  B4 j8 H9 t+ P0 l
$ x: n# o) R/ D; F3 C) ?: f分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。 0 _: Z( y) m& y1 t& |

, V. t' C6 c( a7 X3 R& n1 {将每个按钮按下的情况做统计,画出一个矩阵。 ' ~  B2 }# @7 x
& C& O: }. ^& w& [' g
转1号    1    -1    1    0    0 & q6 o( v! b" r# ?& V- J# i& G/ X  S# {
转2号    1    1    0    0    -1
$ T7 f3 E2 _7 A转3号    0    -1    1    -1    0 ( _7 e( }, p0 K! T" D$ }9 P
转4号    -1    0    0    1    1 8 o$ R  |: F2 d3 p4 X* l+ k
转5号    0    0    -1    1    1
1 y! o4 X! F" S9 l7 C% \% @6 p/ R- r0 [% M
其中,顺时针转为1,逆时针为-1。
/ o% g1 v7 R& r7 _) ~; N) E* F" [1 `, H+ {* d' n
设每个转子转动的次数为X1,X2,X3,X4,X5 8 S% w( s1 L* ^' m& W7 Z7 q, s+ p
& S  l% k  F, j' r5 O- k
对可能的次数进行循环镶嵌迭代。
7 E9 v9 V, {* K3 W; I; L
7 D6 e! U. z2 s" k; S次数以4为循环,故0<=次数<=3
/ F) g- s' A: @" B! n. Z6 F
/ `  D- o; \+ d+ D分析结果。考虑和差可能产生的结果以及4为周期的循环结果。
' c( g  E% f2 X! Z) N! [; b( S# P; h' g; g9 G) c8 ]- f
根据结果要求,对转子1,其结果可能为0或4。
1 H+ _1 T" l! ~" Y  F# j+ {+ b5 M! e
6 q7 ?. V+ [/ A' r" q对转子2,其结果可能为2或-2
. E! V. l+ F5 T/ q
- J# Z5 Q, G1 a( W) `' Z3 P对转子3,其结果可能为2或-2
! H; b6 a) k" _6 `) _/ |9 a! l  l0 V/ ]1 |) @4 g
对转子4,其结果可能为1或-3或5
% `8 V& l1 C9 Z" [3 g6 O" e) d" q
. r. [" |2 r; ]; B; T对转子5,其结果可能为3或-1   b- S/ P! U9 R+ |# y: J8 g
% Y8 r9 T: x$ f- s
TURBO C进行编程,程序如下
, U0 t6 m4 V. m1 ^3 q#include <stdio.h> 6 ?6 H. e! x- s
void main()
; W! z  n1 z& i0 N{ 7 k: l' ^% E7 N/ ~
  int x1,x2,x3,x4,x5; 7 g; E; Q' _: X# ^5 I, j
  int a,b,c,d,e; , V6 J: f) }% e1 X% m1 i& }5 U0 q
  for(x1=0;x1<=3;x1++)   @2 C2 N& ~8 m3 K6 w
    for(x2=0;x2<=3;x2++)
& D8 M* T% G( l+ q. K# v      for(x3=0;x3<=3;x3++) # h' i& W4 H9 h9 M9 s
        for(x4=0;x4<=3;x4++) 5 V8 ^& D2 E$ b" g6 j, v
          for(x5=0;x5<=3;x5++) 7 z! R$ y) X9 Q$ r1 N
            { - d% d5 P7 o" h5 l: F
         a=x1+x2-x4;
4 W  D- Y- Q1 v5 @2 }" F         b=x2-x1-x3;
+ W) a0 I/ C  r: d, y         c=x1+x3-x5; 6 I" N* d3 A1 S- L  u, x4 y; p( l
         d=x4+x5-x3; - b; @- i8 \5 |) x1 j/ q1 R0 m
         e=x4+x5-x2; 4 z/ V7 i+ P7 q! L1 e
         if(a==0||a==4) + I0 I, u, I+ G1 D3 r: S) ^# U
         {
' p% n( I% M& i$ c2 \9 W           if(b==2||b==-2)
" a) P1 C5 |/ w/ h  w             {
2 f5 K- }. g# q" k            if((c==2||c==-2)||c==6) 1 F1 |2 ^0 P9 s4 \: C" S
             {
" ?2 c2 x+ o5 v                 if((d==1||d==-3)||d==5)   B: q2 V: e) W9 U9 j# @1 S6 f
                {
% g' Y9 ]1 n$ X4 Z                 if(e==-1||e==3) 3 U  ~% H3 l6 V1 F0 h) l$ Z3 f
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5); 7 Z2 m1 f/ }1 @- }
                 break; * ]- d* k( Y) E0 m1 A: v" ^
                } / L( z3 y9 t/ ]- Q
  F+ [6 W! G  m  `( m
             } 7 h! o" y* h+ r4 |* j
. I4 ?( T' \) E- d/ s* B
               }
+ x, D+ c9 m' ~8 W$ ^( L" l9 x+ Y4 X2 j- O7 Z; w- V( ?+ a" _2 @
         } 0 r! \$ `3 l4 m1 b6 E0 ]
* ^, h; G; [8 Z7 {) r7 k
       }
7 J: c% L7 z5 u8 D} ) h) t4 G# M+ k& X* t# j0 o( U* {
/ C0 u/ s3 a* |8 n! Z
编译,调试,结果为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发表的  :
4 g' m- c7 u! g* C' a3 u  p  {LZ真是AVG铁杆和程序精英啊 [s:2]

; X2 L3 T, C) u1 ?两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
+ Y7 ]9 R0 P9 L0 i2 k! G( k( M% \
4 B/ k- u. G; y5 [! J# C7 K0 u不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~. C- M! p- v# ?' ]

" Z; Z# B. u6 Q+ h( C3 R静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

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

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
6 R2 n" p2 ~# f" M不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.7 F) _9 U: }* P8 p* @7 I
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

4 y5 z$ D  g: s+ Z- P能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
/ Y7 B! T9 T/ Y& b& P转2号    1     1     0    0    -1 3 Z" v% i( ^% b  ^
转3号    0    -1    1    -1     0
: h3 s% {3 k* \. ~转4号    -1    0    0     1     1  
& P. Y/ ^) M+ v) x3 A转5号    0    0    -1     1     1  " X+ U3 \/ S8 D  S
其中,顺时针转为1,逆时针为-1。3 T5 G& g6 [( w
设每个转子转动的次数为X1,X2,X3,X4,X5 4 x+ J# ?  |* i9 A7 w& y2 d) j) H" u
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
4 f- _: q# @' G) S' ]; g4 r4 o1 ]对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)
( w( o( Y9 I) ~5 [对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)* G* v. \' H& X% L, W6 D* j0 Y/ \
对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)" ^  V0 ^) n  W; R& s% K8 _6 P
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)% X3 |4 A3 V8 G- {; ~; i
由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解' d% M, L! B0 j/ x. s9 q
9 ^3 g8 _; X. G. x
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :4 O1 e& u  c; s4 B* v
转1号    1    -1    1     0     0 2 I2 f" b, k+ ~5 j. t) v' O$ E  [0 l: E
转2号    1     1     0    0    -1 6 I8 c) c4 p! q: i
转3号    0    -1    1    -1     0 % p; z+ U- N' w& y) K
转4号    -1    0    0     1     1  " h) ^: c' F! r6 y& l: @" s
转5号    0    0    -1     1     1  / m0 f# e- [! e! f: Y
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~. ^8 I9 W: G% g$ F  D5 ~
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||1 A0 y4 d# W9 A0 t+ b3 [
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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