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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。
) ?) z. |8 I- Y; ]  P# M1 M) I7 b" X6 {9 Q% F. u' p
谜题:祖父的箱子
! x7 T' Z9 D+ Y( v, e8 p3 L3 i6 b, d$ c: `* M, ?* U2 z0 {$ q
要求调到中间为红心 0 x1 Z, S! J. e- Z% e
( ^1 R4 p; f0 ?" W: ~+ ?  f
两边为方块 ; Y3 g, K/ y/ V! B
' |/ v( D/ @, H! `* f6 [0 M  C
分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
, V4 d3 \5 J% N, _4 V7 f# h8 @: G- R+ y. i8 l& G  N+ r: o- [
将每个按钮按下的情况做统计,画出一个矩阵。 & V, V/ r* s0 D& k
! m! Q, H  D- e" ?! z" I
转1号    1    -1    1    0    0 : ^4 r5 g' k4 [$ z) w. n4 W
转2号    1    1    0    0    -1
1 R- H- o6 b( P9 O7 p% N" D转3号    0    -1    1    -1    0
7 q# d& G; h  ?0 e% A, d3 f转4号    -1    0    0    1    1 9 c9 ]; p' k% G* i+ a
转5号    0    0    -1    1    1 % e$ ?9 l* h1 G; x
- L- ^( [  K$ L9 y! V
其中,顺时针转为1,逆时针为-1。 9 h) }# J$ r( u- E0 H

' s; t* I: L% J4 W5 r. |1 n% ^设每个转子转动的次数为X1,X2,X3,X4,X5 ( ?# L6 e* l( X2 `0 }
/ r  e; d7 T* W0 n- \
对可能的次数进行循环镶嵌迭代。
# Q5 u9 `7 H( g" d1 e# f
$ _0 v2 A9 o- R- x8 Y次数以4为循环,故0<=次数<=3
1 U; i# q5 j4 h( e5 f) K6 l3 u& b& @) E1 G& |* y3 U5 o" ~
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。
9 n4 M; m) K4 o7 W$ t5 k) n, l6 |$ H( G1 s- x
根据结果要求,对转子1,其结果可能为0或4。
  u, ]  j3 i" r/ E4 E+ p) N# R1 N
对转子2,其结果可能为2或-2
# d' d+ H5 ~# e; Y9 e! @2 }/ l/ Q: p; W
对转子3,其结果可能为2或-2
* X6 o% j% [) z8 z  n( n3 j/ V
  [6 w" z9 g% u对转子4,其结果可能为1或-3或5 8 F- p0 o8 G9 K% d! x  [
" H* c; q! j" g2 g
对转子5,其结果可能为3或-1
% u/ h* o; w  v' s0 x$ b/ j; M2 E8 o3 Y
TURBO C进行编程,程序如下 1 `7 J% h6 r& o1 Y
#include <stdio.h>
/ J3 q7 Z  N& G; avoid main()
- E6 e; F: j% |  ^$ Y, D. p{
+ ~' D: o& ?( C0 H1 \6 E  int x1,x2,x3,x4,x5; ( W( {7 r: C1 T
  int a,b,c,d,e; * O1 t# R) a( C
  for(x1=0;x1<=3;x1++) ; A/ S$ _; @( d& b5 N
    for(x2=0;x2<=3;x2++) ( \- g  e, c. E/ v
      for(x3=0;x3<=3;x3++) 5 F# e: c# s$ J" H. R
        for(x4=0;x4<=3;x4++) - K# X5 Q. T  G; g% K4 l
          for(x5=0;x5<=3;x5++)
: f7 j* `) z; B            {
7 D7 w6 e( M7 W6 N         a=x1+x2-x4; * T1 L. g% M$ w* \" Y
         b=x2-x1-x3; . d/ p( v$ I2 K) Z
         c=x1+x3-x5;
9 Z7 g& o% ?5 Z4 t) {5 ?5 T% I* n         d=x4+x5-x3; 1 M6 T0 T  M9 X+ _' B6 x( v& Z
         e=x4+x5-x2;
% X) h. P9 g2 B( X         if(a==0||a==4)
5 d! w. x! m* z* b2 |$ c( r9 f5 }         { 4 ?3 M# l& ]: |$ P
           if(b==2||b==-2)
) ~* q+ v6 }) B/ a             {
, @7 h/ _8 v8 {            if((c==2||c==-2)||c==6)
! Q8 H9 i! K  d1 T- X8 I             { " i$ p* ^4 S2 F0 V* `  K3 @% |
                 if((d==1||d==-3)||d==5)
3 b9 J5 x4 [' u# V$ E                {
- k! I0 L! a" W' ^* l  a. a7 v                 if(e==-1||e==3) . L5 U! }1 O$ ]4 ^
                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5); : w  E- y+ u7 |, V3 Z0 A
                 break; 6 |/ g% c% c, q. ]4 q3 M
                }
& S, n8 _5 _( U7 L. e2 P
$ _) i1 Y% `( V$ _  }. s; i             } 0 k! j- ^5 C8 X) t; T5 d0 m; n; S/ e5 z

) i* ]8 I; Q1 ?& m               } 3 [# B8 q) Q3 y6 D# V

5 q( K( h: p3 G$ S( m, ?1 P6 l         }
- b: {( L& U8 ?7 l! C0 I
5 N# ^% K" b8 ?7 W       } 8 r7 o4 f3 J- L+ j9 j0 B
}
$ k9 E! D( E  C( {* d: ^; |6 M
6 `. g1 e: o0 V; A- F$ _0 B. d; R, C; F; K编译,调试,结果为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发表的  :* m- \) c- G3 Q' u# o5 k) b
LZ真是AVG铁杆和程序精英啊 [s:2]
/ t! P$ d) x( Y% v( f, T
两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。
! g' Y6 `9 q* R( R
  i% [% f- z/ ^5 ~1 x不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~' g; y5 L4 q6 T1 W: O
+ d2 \, d9 H% E7 l1 q  Z
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
( ?! \* E# X; p6 j# ~# b0 C9 t6 c6 J5 W+ U这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
  W5 Q! Z% d& w; Q不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
2 F/ @$ L3 m3 F8 q- E0 ]: I. L这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
6 L( x1 W& P, M, l& c( {7 m
能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0
: n" X% A# o6 v/ {2 V& f转2号    1     1     0    0    -1
$ _, ?. W4 {7 X) _* S) n转3号    0    -1    1    -1     0 2 l! _5 L3 H& u- l& ?
转4号    -1    0    0     1     1  , k. U: u1 U* @
转5号    0    0    -1     1     1  
4 V" u( T/ C- t, K2 m9 b# S! b! j) m其中,顺时针转为1,逆时针为-1。
3 X1 ]# j' ^, h9 }设每个转子转动的次数为X1,X2,X3,X4,X5 % s0 F' o4 p7 _" ]
对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)
  R8 j2 I4 m$ W2 P$ E8 D. N0 k对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)+ ~4 ^& t7 q4 h: I, r# x: @
对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
0 A/ s, Y$ {2 {对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4); e/ Q" W5 `; }9 f; u
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
) ?% T. Z0 T  c9 I% e8 o; J由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解
. G0 M, C2 x; d9 S/ [7 ]) ^& |
/ ]3 N# D; D/ w6 j+ |9 Q' b5 v类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :* r5 I+ a( t3 i
转1号    1    -1    1     0     0
) t+ C; h- ?" @! q5 C: c转2号    1     1     0    0    -1 7 _, X: q6 J4 U
转3号    0    -1    1    -1     0
! g$ u# r9 j: @- ^' M# T" `转4号    -1    0    0     1     1  
+ X5 X6 m7 ~/ y5 e  G$ {0 s- t9 W转5号    0    0    -1     1     1  
. X; v& ~+ m) e( f.......
谢拉~~你是AVG-PRO,^_^,崇拜~~
* c, t& U3 u' J我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||
% \5 i  I/ Z9 i自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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