社区
数据结构与算法
帖子详情
突然想到一个有趣的题,关于华容道的
Smile_Tiger
2011-01-24 10:21:32
已知: 棋盘为4X5的格子,棋子有1个曹操(2X2),1个关羽(2X1的横向),4个其他五虎上将(1X2的竖向),4个小兵(1X1)
棋子都摆上棋盘后,余两个空格。
问: 求所有棋盘状态的数目。
我没有细想就发过来了
...全文
321
8
打赏
收藏
突然想到一个有趣的题,关于华容道的
已知: 棋盘为4X5的格子,棋子有1个曹操(2X2),1个关羽(2X1的横向),4个其他五虎上将(1X2的竖向),4个小兵(1X1) 棋子都摆上棋盘后,余两个空格。 问: 求所有棋盘状态的数目。 我没有细想就发过来了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Smile_Tiger
2011-03-08
打赏
举报
回复
只是散分。
somebody
2011-02-01
打赏
举报
回复
当然这中间还可做一些性能优化。比如插入*(小兵)时,剩下的所有位置都可以放置,不存在能不能放得下的问题。所以不必每个检索。直接计算剩下所有格子数。然后从其中选择小兵个数个位置来放置小兵即可!每个小兵都一样。
本题:
4*5-1*(2*2)-1*(2*1)-4*(1*2)=20-4-2-8=6;
小兵个数为4;
则:其他放置完成后,小兵放置方法为:C6取4=6*5/(2*1)=15
不用每个都去递归!
somebody
2011-02-01
打赏
举报
回复
全盘检索就可以了。格子抽象成数组。
用*代替a[4][5]的格子:
* * * * *
* * * * *
* * * * *
* * * * *
用如下图形:
曹操: 关羽 4五虎上将 小兵
* * * * * *
* * *
首先从占有格子最多的检索(如上图从左至右):
1.设置初始检索位置,置a[4][5]的每个格子都为0
2.开始检索;检索到可以放下一颗当前棋子时,检索位置置1。这里位置包含了棋子所占位置。比如:把曹操放在首个位置,则a[0][0],a01,a10,a11都被置成了1。
3.下次检索时从顺序表物理地址最小的非1位置开始。重复2步,直到所有的当前棋子放完。
此过程中如出现无法放置棋子则返回(即数组a全部置0进入刚才检索的下一个位置)。
4.上一种棋子放置完成后,调换棋子种类,设定下一个放置棋子种类。重复2、3步。
5.重复2\3\4.直到所有情况算出。
huatuo20002008
2011-01-31
打赏
举报
回复
[Quote=引用 3 楼 superdullwolf 的回复:]
其实就是填格子,1是有,0是无,每个棋子都提前固定好01,盲目的递归去填,输出正好可以填满的不重复的解,就可以了。
[/Quote]
没看明白,能否说得稍详细些,谢谢!
zhaolinger2
2011-01-24
打赏
举报
回复
用和走迷宫类似的思路就能解。
booksoon
2011-01-24
打赏
举报
回复
415800
超级大笨狼
2011-01-24
打赏
举报
回复
其实就是填格子,1是有,0是无,每个棋子都提前固定好01,盲目的递归去填,输出正好可以填满的不重复的解,就可以了。
丈八涯
2011-01-24
打赏
举报
回复
求所有棋盘状态的数目
也就是所有棋子全部放下(不旋转)的状态集。
属于覆盖问题,空格部分可以看做两个小棋子。
华容道
搜索算法研究
转载地址已经废弃,这里做个备份。作者: 许剑伟 2006五一节于福建莆田十中转载:http://www.fjptsz.com/xxjs/xjw/rj/110.htm 一、算法的由来: 也不知写了多少行程序,累了,写点轻松的吧,可千万不要和操作系统打交了!还有那该死的Socket,真讨厌,什么“缓冲区不足”,我不是有2G内存,怎么就不足了? 志雄正潜心研究24点算法,向我要全排列的算法,我给他一
Java蓝桥杯
目录 往年真
题
题
目分类 搜索 动态规划 并查集 贪心算法 二分查找 输入输出 图论 其他 往年真
题
2022年第十三届蓝桥杯大赛软件类决赛Java研究生组真
题
-
题
库 - C语言网 2021年蓝桥杯第十二届省赛及国赛真
题
-
题
库 - C语言网 2020年蓝桥杯第十一届省赛及国赛真
题
-
题
库 - C语言网 2019年蓝桥杯第十届省赛及国赛真
题
-
题
库 - C语言网 2018年蓝桥杯第九届省赛及国赛真
题
-
题
库 - C语言网 2017年蓝桥杯第八届省赛及国赛真
题
THUPC2019/CTS2019/APIO2019/PKUSC2019游记
THUPC2019/CTS2019/APIO2019/PKUSC2019游记 5.10 中铺,火车好晃啊 5.11 打了THUPC2019的练习赛,
华容道
好评(四个小兵,杠鸭!) 5.12 打了THUPC2019 开场爆了好几发D,然后不想写,丢给ZCY,cerr居然wa了好多发 然后ZCY看出B是sb
题
,我们俩不想写,丢给ZCY 然后gmy和我分别写了M和J两个签到
题
,三人开始分别开C...
noip提高组写
题
心得——搜索
题
4例
例1:斗地主
题
目分析: 这道
题
的话实际上是一道比较没有技术含量的复杂搜索
题
。其特点主要就是烦。看清楚细节这
题
应该是没有问
题
的。 预处理:首先为了方便,肯定把3变1,4变2.。。。到13变11,1变12.但是这里有
一个
简单的优化,吧2变成14,双王变成15.因为这样的话在接下来判断顺子的时候就可以方便多了。 搜索:这道
题
广度搜索明显不合适,因为要存下大量的信息。而这道
题
我们判断一下,发现其
BFS
题
库+详解
1.逃脱-NC14536 Tabris来到幼儿园的第四天,幼儿园老师在值班的时候突然发现幼儿园某处发生火灾,而且火势蔓延极快,老师在第一时间就发出了警报,位于幼儿园某处的mengxiang000和Tabris听到了火灾警报声的同时拔腿就跑,不知道两人是否能够逃脱险境? 幼儿园可以看成是
一个
N*M的图,在图中一共包含以下几种元素: .:表示这是一块空地,是可以随意穿梭的。 #:表示这是一块墙,是不可以走到这上边来的,但是可以被火烧毁。 S:表示mengxiang000和Tabris所在位子。 E:表示幼儿
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章