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

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

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

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

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

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

好像有些小题大做,不过用我的脑袋实在是解不出答案。   j2 y3 W+ s: m0 _' e: l

3 b4 O7 J0 W  k8 [9 S+ r谜题:祖父的箱子
( n: W5 x$ Q5 ?( j6 O3 F$ R
9 F, H1 b8 b: h6 n要求调到中间为红心 ; q% c7 n' }4 V, k! ]

+ x, g, w% Z2 }* i# L% e/ u& k两边为方块
4 k! [3 W' Y4 w- _3 M; ~
, @' u3 }1 {+ C1 A3 I分析了一下,每动一个钮会有三个旋转,而且结果不唯一,想不出来,只好编程解题。
9 p4 t9 Y2 K9 e5 s/ H% V/ e- |+ n- ]0 j0 _6 D7 d
将每个按钮按下的情况做统计,画出一个矩阵。
  ]% T7 z; o1 s
; L" {# u: _( m8 Y转1号    1    -1    1    0    0 " V) [+ l, z% T6 C
转2号    1    1    0    0    -1 3 O! p: t/ p- ^, ~' U
转3号    0    -1    1    -1    0
/ i1 ]& B# C+ r6 p转4号    -1    0    0    1    1 # H, U8 _& @% C, \1 F
转5号    0    0    -1    1    1
3 a" z& [+ h4 P
' u: e7 p$ X" I/ N& c- L% ]其中,顺时针转为1,逆时针为-1。
" f7 f- T, {7 z, P- y
( d/ {$ G  a/ i$ s" m4 P6 h  \& }设每个转子转动的次数为X1,X2,X3,X4,X5
( a) l6 @. y/ W' w7 o- P" z1 H
  \2 z5 Q3 G; S0 Q4 B. E0 `. `对可能的次数进行循环镶嵌迭代。
- L- g9 u" _) w& [4 W6 L* N. F9 x* ]
次数以4为循环,故0<=次数<=3 ) g# e; j4 d6 n0 j. l; u3 q6 Q
  _7 b5 L) Q- D. X
分析结果。考虑和差可能产生的结果以及4为周期的循环结果。
  S5 d. k: ?" ]# T+ V" E) v5 R) y
根据结果要求,对转子1,其结果可能为0或4。
! g# `% t9 n4 j. P+ R, J# H, |# K* W# G( T; e6 N% C& z% ?+ i
对转子2,其结果可能为2或-2
6 A4 ~3 ^1 w& w3 _, g. \- f
0 e, R/ D" H7 }: {( A对转子3,其结果可能为2或-2 ' \+ [4 R% |& j

# r( C; M5 z9 M对转子4,其结果可能为1或-3或5 5 R: z' V! k' w0 g
) U; @) h0 D1 `6 ?5 K, a
对转子5,其结果可能为3或-1 + V4 \" G+ t5 M. H# F' G  w
" ]! D5 ~; Y; E+ m, x( u3 e
TURBO C进行编程,程序如下
4 D: t8 _: m0 N5 I#include <stdio.h>
/ E) j- L2 b5 p/ O/ Xvoid main() & D( n3 ?/ O5 n( o0 o
{ 5 q6 L( V% X% p/ N9 D  ]& e
  int x1,x2,x3,x4,x5; 4 a1 [0 `, G) K3 N/ t
  int a,b,c,d,e; $ o; I1 {7 i2 f% f8 O  ~" R7 E
  for(x1=0;x1<=3;x1++) 2 b5 W% d! b$ K- }& w
    for(x2=0;x2<=3;x2++) - w; C, D- r: V0 l
      for(x3=0;x3<=3;x3++)
# O& p0 [: e: o( X/ H        for(x4=0;x4<=3;x4++)
: h" N, v" d( U5 {4 |          for(x5=0;x5<=3;x5++)
" s" V2 x% l( D            { 8 O- C# G* L& `1 C
         a=x1+x2-x4;
5 w2 j6 A% N* N* ^         b=x2-x1-x3; % y( d7 c! A# v" D" {2 ?
         c=x1+x3-x5;
& n; }! S" F$ w/ ~: Z8 ^3 T         d=x4+x5-x3; 7 t5 S4 W7 `+ f7 y. k# R8 }
         e=x4+x5-x2; " P( f) r. A2 g9 l
         if(a==0||a==4) & I$ n. O2 I6 ^2 f4 h
         {
6 y1 e2 L7 ~" T8 L  X; G           if(b==2||b==-2)
) F/ i, l; x0 b- U: B             { 3 x( t1 C% x; u2 S" ?
            if((c==2||c==-2)||c==6)
* L2 l+ p) Z3 z+ ~4 z             { 6 v- R  g8 h" o* w& [' b7 V
                 if((d==1||d==-3)||d==5) 1 S: u# J9 @2 j- K* Q  s
                { + [6 Y) E+ Z/ s" B
                 if(e==-1||e==3)
( ]! b' t( v* s& F                 printf("x1=%d,x2=%d,x3=%d,x4=%d,x5=%d\n",x1,x2,x3,x4,x5);
- E; t, t: y- @( Q                 break; / N5 [! d& {# N; I5 A
                }
6 D3 K* B% t, h/ F, `9 a* ?
% D* @0 ?- {  U  f             } 6 I9 _5 [4 i( I0 L5 Z' d9 T' w
( z$ j0 q$ a. E
               }
$ I* w) q- S4 ^) L
3 ~( Y1 s6 {4 v' n: q/ x& o" Q         }
5 C3 a- ]/ P/ d
$ r% D; h0 J& T+ Q( n! ^       }
  G* `; d! a6 B) A7 d} & r! H* q  M: I. t  d) Z
5 Z+ F! m# ^- e- \
编译,调试,结果为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发表的  :# k0 x5 |' j1 W9 P
LZ真是AVG铁杆和程序精英啊 [s:2]

* v! U% i2 v  o3 f  L两者都谈不上。。。呵呵,先想就这样解方程的,后来同学说可以编程,我先还觉得不用啊,后来实在没办法了,觉得编程还挺好的,就上网边查语法边凑出来了。) E, c' i  y! p' Y1 [

0 \& |& T" n5 b  g9 y- N% h5 _, r: i不过确实很喜欢AVG啦,一共好像也就玩过两三款而已。虽然操作没有什么娱乐性,但是剧情实在太丰富了,还可以练英语,哈哈~
* d( E6 }. v4 _8 P6 ]$ f/ W/ J/ w) y) b
静物太经典了,就喜欢做得这么认真的游戏!
回复 支持 反对

使用道具 举报

地板
发表于 2008-6-28 21:02 | 只看该作者
不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.3 H# E6 ]% x& Q3 |; q* Q+ K
这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2008-6-29 11:01 | 只看该作者
引用第3楼lazlow于2008-06-28 21:02发表的  :
% Y$ g0 b2 `% v- W: i1 y+ a不用编程吧, 取模运算罢了, 当然还是感谢easonxl提供的思路.
6 \/ I% H5 e+ L4 S& ]: {0 N这类问题必须是不依赖于路径, 而且是可逆操作, 才可以用数学方法求解.

/ {! ]1 d' \4 C9 g& @& X; N+ W4 x能不能具体告诉我下你的解题思路?谢谢。一直都想不出来,我也觉得这游戏没必要做得这么复杂还要编程的。
回复 支持 反对

使用道具 举报

6#
发表于 2008-6-29 15:17 | 只看该作者
转1号    1    -1    1     0     0 : g3 ]7 x" ]& L' d7 z0 F( V
转2号    1     1     0    0    -1 ' t$ C! j% [: [8 M: F
转3号    0    -1    1    -1     0 2 F" G" l' p1 q1 i; h' l6 U7 W
转4号    -1    0    0     1     1  + E$ X4 ?, G- C' i, R
转5号    0    0    -1     1     1  / k' z9 \- W; g( M; \$ \+ i  I* {
其中,顺时针转为1,逆时针为-1。. K: j. Q* v6 L
设每个转子转动的次数为X1,X2,X3,X4,X5
' d8 h9 O  N- D" @; m8 F对于转子1,最终状态为0(mod4),对应方程为 X1+X2-X4=0(mod4)9 M! q% T" P2 E; O% L: ?
对于转子2,最终状态为2(mod4),对应方程为-X1+X2-X3=2(mod4)
2 U  e% B6 ?  |# Y7 [* k6 s对于转子1,最终状态为2(mod4),对应方程为 X1+X3-X5=2(mod4)
8 N: ]  j3 M' A6 |对于转子1,最终状态为1(mod4),对应方程为-X3+X4+X5=1(mod4)9 s/ C* w$ G' V% z
对于转子1,最终状态为3(mod4),对应方程为-X2+X4+X5=3(mod4)
; s  ?2 w9 R; i由于只是找一组解即可,不难求出对应的在0,1,2,3内的整数解7 l: D/ w$ a" a
- |, E, X+ r+ s+ m, f; Y
类似这样的谜题还有Keepsake中的五位密码盘、Safecracker的五个小钢轮,当然都是不依赖于路径, 而且是可逆操作的。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-6-29 16:36 | 只看该作者
引用第5楼lazlow于2008-06-29 15:17发表的  :: V' W, P+ {" j% w& k2 l. c  v
转1号    1    -1    1     0     0
. i1 R' f- f& ~. ?- Q; o转2号    1     1     0    0    -1 2 B+ J( ~6 ^# v: y6 I! t" Y! u
转3号    0    -1    1    -1     0 7 `" Z' D$ B6 d/ h$ P* F
转4号    -1    0    0     1     1  & l$ Z8 c! |; k  s' h
转5号    0    0    -1     1     1  ) B. T# u! F; V; @
.......
谢拉~~你是AVG-PRO,^_^,崇拜~~0 [; Q$ d3 P# t* Y! e/ |
我就是试了半天没试出那个方程组的解。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

10#
发表于 2009-3-1 11:43 | 只看该作者
强悍- -|||, F( A" S! A& k
自己向来都是凭感觉的...
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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