社区
数据结构与算法
帖子详情
移动棋子问题(觉得用回溯法)
alen1985
2009-04-06 09:51:52
1.设有2n+2个排成一行的格子,最左边的两个格子是空的,其后的格子一次放入A子和B子:
|空格|空格|A|B|A|B|...................|A|B|
现规定移动规则如下:
每次可将任意两个相邻的棋子移入空格,移动时两子的左右持续不得变动。试按此规则以最少的步骤将
n个A子移到一起,n个B子移到一起,空格的位置可任意。
求各位大侠思路,有源代码最好!
...全文
319
14
打赏
收藏
移动棋子问题(觉得用回溯法)
1.设有2n+2个排成一行的格子,最左边的两个格子是空的,其后的格子一次放入A子和B子: |空格|空格|A|B|A|B|...................|A|B| 现规定移动规则如下: 每次可将任意两个相邻的棋子移入空格,移动时两子的左右持续不得变动。试按此规则以最少的步骤将 n个A子移到一起,n个B子移到一起,空格的位置可任意。 求各位大侠思路,有源代码最好!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lgq2369
2009-04-13
打赏
举报
回复
N = 4,为5步:
0:OOABABABAB
1:BAAOOBABAB
2:BAAABBOOAB
3:OOAABBBAAB
4:AAAABBBOOB
5:AAAAOOBBBB
N = 5,为6步:
5:AAAAOOBBBBAB
6:AAAAABBBBBOO
N = 6,为8步:
6:AAAAABBBBBOOAB
7:AAAAAOOBBBBBAB
8:AAAAAABBBBBBOO
N = 7,为10步:
8:AAAAAABBBBBBOOAB
9:AAAAAAOOBBBBBBAB
10:AAAAAAABBBBBBBOO
以后没增加1,就需增加2个步骤
故
N<4时,无解;
N=4时,为5;
N>4时,为2N-4;
绿色夹克衫
2009-04-13
打赏
举报
回复
哦,11楼给出了递推的方法,很不错了!LZ的问题应该解决了。
alen1985
2009-04-13
打赏
举报
回复
各位辛苦了,散分!
xiaocha
2009-04-13
打赏
举报
回复
11楼步骤都写出来了,写成代码很容易,结贴了,给我点分
绿色夹克衫
2009-04-12
打赏
举报
回复
2个不行的话,4个可以么?LZ先个一个4个最一般的解法吧!我们帮你总结一下!
[Quote=引用 9 楼 alen1985 的回复:]
题目是对的,前提是N>=4
[/Quote]
alen1985
2009-04-12
打赏
举报
回复
题目是对的,前提是N>=4
xiaocha
2009-04-12
打赏
举报
回复
题目不对,但有答案,大家有的猜了
帮顶,接分
alen1985
2009-04-12
打赏
举报
回复
步骤是:2n-3(其中n>=4),帮顶散分了!
test4ever
2009-04-07
打赏
举报
回复
[Quote=引用 2 楼 litaoye 的回复:]
这题似乎无解呀?不知道LZ是不是有啥没说清楚的地方?
00ABAB -> BAA00B 然后呢? -> B0AA0B -> 00AABB 最后一步允许么?
[/Quote]
lz的意思可能是这样的
将设2个0代表一个空格,最左端是
0000ABAB.. ->
00BAA00B... ->
AAB0000BAB.. ->
AAAB000BB0AB.. ->
AAABBB0000AB..
LZ是不是这个意思?
大王派我去巡山
2009-04-07
打赏
举报
回复
应该是别版转来的帖子吧~
我也没看懂lz说的规则,如果左右无法互换,那么永远也不可能实现“n个A子移到一起,n个B子移到一起”。
也许是楼主没说清楚吧。象这种问题,一般都是靠搜索来解决问题。
楼主说的回溯是深搜。一般来说,象这种求最优的问题,用宽搜(分支限界)更合适一些~
alen1985
2009-04-07
打赏
举报
回复
好像00ABAB的时候不行,怀疑题目出问题了!大家帮忙看下
M_S_D_N
2009-04-07
打赏
举报
回复
这里不是算法区么?
[Quote=引用 1 楼 hairetz 的回复:]
建议发去算法区问dlyme
[/Quote]
绿色夹克衫
2009-04-07
打赏
举报
回复
这题似乎无解呀?不知道LZ是不是有啥没说清楚的地方?
00ABAB -> BAA00B 然后呢? -> B0AA0B -> 00AABB 最后一步允许么?
猫已经找不回了
2009-04-06
打赏
举报
回复
建议发去算法区问dlyme
回溯法
解决N皇后
问题
(以四皇后为例)
以4皇后为例,其他的N皇后
问题
以此类推。所谓4皇后
问题
就是求解如何在4×4的棋盘上无冲突...在国际象棋中,皇后的
移动
方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直、以及45度斜线上都不能出现皇后的
棋子
数据结构C++描述
11.5.2 用最优匹配法求解箱子装载
问题
357 11.5.3 交叉分布 359 11.6 参考及推荐读物 363 第12章 图 365 12.1 基本概念 365 12.2 应用 366 12.3 特性 368 12.4 抽象数据类型Graph和Digraph 370 12.5 无向图和有向图...
算法——
回溯法
转自:https://blog.csdn.net/hguisu/article/details/77092761.
回溯法
算法思想:定义:
回溯法
(探索与
回溯法
)是一种选优搜索法,按选优条件向前搜索,以达到目标。...1、
回溯法
适用:有许多
问题
...
回溯法
解决四皇后
问题
以4皇后为例,其他的N皇后
问题
以此类推。所谓4皇后
问题
就是求解如何在4×4的...四皇后
问题
有很多种解法,这里主要介绍一种经典的解决方法:
回溯法
回溯法
的基本思想是:可以构建出一棵解空间树,通过探索这棵解空间...
N皇后
问题
的求解 —
回溯法
C++实现
这里我们暂且把将称为国王吧,国王虽然如此重要,但只能在田字格里
移动
,而且每次只能
移动
一格,尽管可以往横线和斜线的方向
移动
。 和他背后的女人 — 皇后相比,国王简直弱到不行: 在国际象棋中,皇后是最强大的...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章