社区
数据结构与算法
帖子详情
突然想到一个有趣的题,关于华容道的
Smile_Tiger
2011-01-24 10:21:32
已知: 棋盘为4X5的格子,棋子有1个曹操(2X2),1个关羽(2X1的横向),4个其他五虎上将(1X2的竖向),4个小兵(1X1)
棋子都摆上棋盘后,余两个空格。
问: 求所有棋盘状态的数目。
我没有细想就发过来了
...全文
393
8
打赏
收藏
突然想到一个有趣的题,关于华容道的
已知: 棋盘为4X5的格子,棋子有1个曹操(2X2),1个关羽(2X1的横向),4个其他五虎上将(1X2的竖向),4个小兵(1X1) 棋子都摆上棋盘后,余两个空格。 问: 求所有棋盘状态的数目。 我没有细想就发过来了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
打赏
举报
回复
求所有棋盘状态的数目
也就是所有棋子全部放下(不旋转)的状态集。
属于覆盖问题,空格部分可以看做两个小棋子。
java
华容道
代码_Java
华容道
完整源码
时间:2018-12-19概述:
华容道
Java
华容道
完整源码,本代码实现
华容道
游戏的整体功能。程序执行后,点击相应的人物,然后按上下左右键可以移动。点击重新开始按钮,可以将各个人物的位置重置。如果目的地的面积能够容得下当前要移动的人物,则认为可以移动。当曹操移动到“曹操到达该位置”的位置的时候,认为程序结束。本示例中,利用Java的图形技术和消息响应机制完成了三国游戏
华容道
的制作。通过图形界面的...
三国
华容道
有
一个
类似的游戏,叫汽车
华容道
,应该是从三国
华容道
改造来的,比三国
华容道
简单很多。 https://blog.csdn.net/nameofcsdn/article/details/104366518汽车
华容道
攻略 三国
华容道
有曹操、五虎将、四卒,一共10个角色。 三国
华容道
有很多开局,我选了
一个
最经典的横刀立马试着玩了玩,总结了
一个
打油诗攻略。 我总结的步骤口诀: (...
【浅析
华容道
之一】
华容道
的前世今生
智力游戏界的不可思议 古老的中国游戏,以其变化多端、百玩不厌的特点与魔方、独立钻石棋一起被国外智力专家并称为“智力游戏界的三个不可思议”。
NOIP2013
华容道
NOIP2014
华容道
说起来这道
题
还挺有难度的,我用了两个小时才把它AC,要是在赛场上的话。。。。这种
题
就果断放弃了, 下面步入正
题
题
目描述 Description 小 B 最近迷上了
华容道
,可是他总是要花很长的时间才能完成一次。于是,他
想到
用编程来完成
华容道
:给定一种局面,
华容道
是否根本就无法完成,如果能完成,最少需要多少时间。 小 B 玩的
华容道
与经典的
华容道
游戏
华容道
游戏c#最简破解
华容道
游戏的暴力破解是少年时候的梦想,那时候刚学电脑basic,也刚知道
华容道
这个游戏,就想拿电脑去破解这个游戏。很可惜那时候太年轻,basic也太弱,没有能成功。前几天做网页爬虫,用到广度搜索,突然
想到
儿时的梦想,于是花了2天时间来实现。在现代语言面前,要实现这个只需要1百多行代码,不需要递归,只需要简单的迭代要点1.需要采用广度搜索2.需要去重复(剪枝)3.穷举下一步的各种可能性4.迭代主要代...
数据结构与算法
33,026
社区成员
35,334
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章