美文网首页
麻将胡牌

麻将胡牌

作者: 努力学习的CC | 来源:发表于2020-03-15 17:06 被阅读0次

题目:雀魂启动

简述:根据输入(一个数组),判断抽取什么牌可以胡牌,前提是满足麻将的规则,一对眼+4对顺子(比如123,456)或者刻子(比如111,555)总共14张

基本思路:在我们打麻将的时候,胡牌之前我们需要检查牌型,用到的思路跟本题大体一致,这道题可以用递归的思路求解:分三种情况构建递归体,从数组最小的数值开始:

  1. 如果当前的牌可以当作眼,那我们看看去掉这对眼,剩下的牌型是否可以胡牌

  2. 如果当前的牌跟后面的两个牌组成刻子,那我们看看去掉这个顺子,剩下的牌型是否可以胡牌

  3. 如果在后面的牌中存在两张牌可以跟当前牌组成顺子,那我们看看去掉这个刻子,剩下的牌型是否可以胡牌

递归出口:当剩下的牌数为0时,则所有牌满足胡牌的标准

代码

def solve(hands):
    #4个顺子或者对
    #一对门将
    if not hands:
        return True
    hands.sort()
    if len(hands) == 1:
        return False
    if len(hands) == 2:
        return hands[0]==hands[1]
    
    count0 = hands.count(hands[0])
    if len(hands)%3!=0 and count0>=2 and solve(hands[2:])==True:
        return True
    if count0>=3 and solve(hands[3:])==True:
        return True
    if (hands[0]+1) in hands and (hands[0]+2) in hands:
        temp = hands[1:]
        temp.pop(temp.index(hands[0]+1))
        temp.pop(temp.index(hands[0]+2))
        return solve(temp)
    return False
if __name__=='__main__':
    hands = list(map(int,input().split()))
    rst = []
    for i in range(1,10):
        a = hands+[i]
        if a.count(i)>4:
            continue
        if solve(a):
            rst.append(i)
    rst.sort()
    print(' '.join(list(map(str,rst))))

相关文章

  • 麻将胡牌

    题目:雀魂启动 简述:根据输入(一个数组),判断抽取什么牌可以胡牌,前提是满足麻将的规则,一对眼+4对顺子(比如1...

  • 麻将胡牌算法

    犹豫工作和自己学习了一些新的东西,今天打开博客吓自己一跳,原来自己这么久没有更新博客了。看来以后还是要坚持每周最少...

  • 麻将胡牌问题

    前言 麻将,起源于中国,是一种中国古人发明的博弈游戏,流行于华人文化圈中。经过多年发展,形成多种地区特色的玩法,麻...

  • 麻将规则技巧入门(换三张)

    血战麻将最大的不同是,一局牌中,一家胡牌并不结束牌局,而是未胡的玩家继续打,直到3家胡牌或剩余的玩家流局。这样先胡...

  • C语言单纯的模拟麻将胡牌算法!简单分析,不喜莫入

    麻将胡牌算法 不带赖子,14张牌,以筒子为例子,不考虑杂交系列,纯属探索性算法,并非完整麻将算法,请勿存在误区。单...

  • 人生如牌 牌如人生

    人遇喜事,就兴高彩烈。爱好麻将的人都有体会胡牌时的喜悦。爱好麻将的人,当胡出了人生难遇到的大牌时,兴奋之情难以言表...

  • 掌握打麻将7大技巧,你也可以成为麻将大神

    麻将除了气运以外,还涉及到很多技巧。为什么会打麻将的人做牌速度快,胡牌容易?因为他们掌握了很多小技巧,大大增加了胡...

  • 无标题文章

    打麻将胡牌4个小妙招为什么中国人爱打麻将时长: 大家知道怎样稳坐麻将桌吗,在打麻将的时候可要避免输掉链子,想稳坐麻...

  • 麻将杂谈(四)

    字牌 麻将的字牌,是包括风牌和箭牌,风牌即东南西北四风,箭牌含中发白三箭。要数大番的胡法,字牌的组合占据半壁江山,...

  • 如意禅·麻将牌

    如意禅·麻将牌 东西南北發白中,梅兰竹菊君子碰。 胡牌何需萬条筒,春夏秋冬花不同。

网友评论

      本文标题:麻将胡牌

      本文链接:https://www.haomeiwen.com/subject/kcfyehtx.html