收录日期:2020/08/13 05:34:02 时间:2016/05/30 03:16:21 标签:数据结构与算法
现在在做一个麻将的游戏,
在这里也已经看到了一些关于麻将的讨论,但还是不是很能理解
所以把自己的问题提出来请大家帮忙

我做的里面是
1-9万用  1-9代表
1-9条用  11-19代表
1-9筒用  21-29代表

吃和碰过的牌用+100代表,比如吃过的一万就是100+1=101;
我做的麻将游戏的牌是整型数组来装牌的,数组里都是按数的大小来排序的

现在的问题是判断是否可以胡牌的算法,有什么好的算法
有的朋友说,将牌里的万,条,筒分别取出来,判断是否是顺,刻,对来判断是否可以
构成胡牌,
但是有的地方组和是非常多的,比如其中的一对5万,可能是两个分别的顺里的牌(如345,456)。
也可能是一对用,并且三个一样的牌里,也可能是这样的情况,也可能是三个其中2个做一队,
另外的一个做顺里的牌,

现在这个问题搞的我是比较麻烦,
希望各位有什么好的算法,可以指教,多谢



顶一下,
这个运算量不是很大吧,再说大多数情况是分组的,万和万,桶和桶,条河条,分别组合没有多少组的,复杂度和棋类游戏没有可比性,我想也用不到什么剪枝算法之类的东西,按照一点简单的搜索规则,遍历一遍,找到所有情况,用不了多少时间的。
没必要搜索吧,麻将不是棋,下一张牌是什么根本就不知道。
这个问题,已有解决,你搜一下

很奇怪的问题,请高手帮忙!!! 请问怎么刷新一页面里的IFRAME ? 插入数据问题 有没有绘制线条的类或者控件啊? 用FileStream或StreamWriter类写入文件时编码的问题 一个关于小问题! SetWindowText() 优先级的问题 关于DataGrid中的模板的问题.有兴趣的来解决一下. 备份表到其他的盘中的问题!!!!!!!!!!!!!! 求助!!! 复杂问题,如能解决,高分重奖!Exchangeserver2000问题 小弟初到,希望大家可在多多帮忙! 请问搞驱动开发的好找工作吗? 怎样判断出一张图片里的女人有脱衣服?或者一个男人不穿衣服? 一道受用终身的测试题 救救我吧,IE工具栏里总出现一行search the web,而且主页总被改成i-lookup.com 硬盘转数怎么看? 一道受用终身的测试题 请问windows中象使用过后自动记录的那些用户名啊什么的怎么样才可以删除? 【短消息骂人】 如何用asp.net向exchange server 2000中添加用户、邮箱啊? 急。。。。oracle.sql.BLOB与InputStream怎么互相转换???请大侠们帮忙! FOXPRO小问题?? 问:如何把一个int值赋给枚举变量? 如何定位到DataGrid表中的编辑行? 网络计时问题 *.pdg用什么软件打开? 问几个问题。 模板类怎样序列化? 谁有可垂直居中的QRLabel?