跑胡子胡牌算法

腾讯课堂视频讲解:https://ke.qq.com/course/360581?tuin=104cb0e2

1、 基于查表的lua版跑胡子判胡算法

    将所有能胡的牌型和其对应的胡息放入表中

    判断胡牌时,只需要查表得到胡息,如果表中没有此项,则不能胡,如果有,得到表中的胡息,加上跑、提、碰、偎的胡息,如果大于最低胡息,就能判断是否胡牌。

    代码:https://github.com/yuanfengyun/qipai/tree/master/phzlib_lua

    优点:速度极快

    缺点:表会占用一定内存,如果用字符串存储,有60M左右,如果用二进制,则是20M

 

2、基于回溯的c语言版

    1、去除不能拆解的坎

    2、拆解小牌  分别深度拆解为顺子、小小大的绞、大大小的绞、二七十,小牌拆解完后,拆解大牌

    3、拆解剩余胡大牌,大牌只需要去除 贰柒拾后,按顺子拆解就行

    4、如果不能完成拆解,则不能胡

    5、获取最大的小牌和大牌胡息和,然后加上坎的胡息、跑、提、碰、偎的胡息,如果能达到最低胡息,则胡了。

    代码:https://github.com/yuanfengyun/qipai/tree/master/phzlib_c

你可能感兴趣的:(lua,c,data,structure,and,algorithm,跑胡子,算法,胡牌,判胡,最大胡息)