作者SocketAM2 (AM2)
看板puzzle
标题Re: [问题] 数字游戏~帮帮忙想解答
时间Wed Oct 3 00:57:38 2012
小弟写了个小程式(python)递回暴力找下去,
原始码及程式执行结果请见此
http://pastie.org/4897546
需要的人请自行取用 (有什麽得意的结果愿意的话请和我分享我会很爽,谢谢)
如果我逻辑没写错的话以下为结果:
我是防(ㄆㄧㄢˋ)雷(ㄗˋ)页(ㄕㄨˋ)
1. 三次以下 => 不可能
2. 四次的方法共有16种(详见上面连结)
==============================================================================
另外,用推理方法试着证明这问题不可能三步解,说明如下:
主要考虑数列中"数字下降"发生的次数,
例如123456数字下降次数为0、654321为5
每次移动最多只能在其前後边界上各创造出一个数字下降次数....................(1)
假设每次移动xyz三个数字,
并把xyz插入剩下三个数字前後或中间的第i格间隙 (0 <= i <= 3)
由123456开始,
由於这个起点是递增的,第一次移动最多只能产生"1"的下降次数...............(2-1)
同理,从任意一组六个数字移动一次变成654321(递减)时,
最多也只能产生"1"的下降次数.............................................(2-2)
也就是说除了第一和最後一次移动,中间的移动法总共要至少创造三个数字下降次数
由(1)、(2)可知中间至少要两步
所以得证 "要完成123456 => 654321至少需要四步" #
以上论述的(1)、(2)应该都挺显然,至少我以为是好证的
不知道大家觉得如何?
※ 引述《ewamfnni (小光头)》之铭言:
: 标题: [问题]数字游戏~帮帮忙想解答
: 时间: Mon Oct 1 04:44:08 2012
:
: 朋友出的题目
:
: 因为我们都想不出来
:
: 所以只能请各位大大帮忙想罗
:
: 问题"6个骰子或扑克牌排列为123456
:
: 每次移动三颗 只能移三次
:
: 三颗要连在一起移动
:
: 例如 123456 我选456这三颗把他插在1跟2中间
:
: 变成145623
:
:
: 也可以摆在1前面变成456123的玩法
:
: 反正移动後 要三颗相连一起移动自由穿插不能翻转
:
: 让123456移动三次变成654321
:
: ----------
: 目前我只想出
:
: 1)456移到12中间->145623
:
: 2)145移到23之间->621453
:
: 3)214移到53最後->653214
:
: 最後偷偷把321移到最後面...可是这样就四次了 X(
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 71.197.91.52
: 推 allen65535:反正移法没有很多,我相信用穷举法可以证明4次是最少的 10/01 05:30
你是对的
: 推 puzzlez:这题目还真难..... 10/01 05:56
: → puzzlez:我也觉得3次不太可能... 10/01 05:59
: → puzzlez:目前是 123456 > 156234 > 623154 > 654231 10/01 06:31
: 推 newacc:帕索你这样变成654231不是人家要的啊XD 10/01 11:51
: → puzzlez:我又没说那个是解答= = 都已经说3次不太可能了... 10/01 15:45
: 推 Leslie0406:他是排一排还是...围成一个圈 10/02 02:25
: → marrvosal:若是排成一排,应该无解,若我没分析错误的话... 10/02 02:28
: 推 Leslie0406:总共64种移法...1小时内可列出来 10/02 02:43
: → Leslie0406:噢我错了 10/02 02:44
: 推 Leslie0406:1100才对 10/02 02:47
: 推 puzzlez:只要把题目想成是在洗扑克牌就对了...有请数学高手来证明 10/02 07:17
看看上面这样可以吗?
: → wxtab019:如果要3步的话 等於说倒数第2步要变成654321移一次 10/02 07:38
: → wxtab019: 然後第一步是123456移一次 2个都是12种 10/02 07:39
: → wxtab019: 144种里找不到能让2个中间只动一步就一样 10/02 07:40
: → marrvosal:与楼上相同的方法 10/02 14:38
: 推 puzzlez:嗯 看来穷举也不会太难...有请程式大师XDDDD 10/02 17:05
我不是大师,我是新手小嫩嫩... 有真˙大师请不吝指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.160.215
1F:推 puzzlez:推!! 可是我的「洗牌」比喻害了你 对不起>_< 10/03 05:44
2F:→ puzzlez:因为移动的终点不限於最上面和最下面 还有任意两张中间 10/03 05:45
3F:→ puzzlez:不过移到中间从实验的角度看来 感觉就是不可能达成.... 10/03 05:46
4F:推 puzzlez:哦 你好像没搞错XDDD 10/03 05:48
5F:→ puzzlez:我原本想到的4步解是 #7 10/03 05:51
6F:推 ewamfnni:真是谢谢你的帮忙压~ :) 10/04 05:52