給定13張牌,問加入1~9中的任意一張牌後,能否達成和牌(滿足以下兩個條件):
思路:暴力刪除即可,更優的做法是使用計數來實現邏輯刪除
def dfs(a):
if len(a)==2 and a[0]==a[1]: return 1
for i in range(len(a)-4):
if a[i]==a[i+4]: #統一種類的牌不能超過4張
return 0
for i in range(len(a)-2):
# 刻子
t=a[i]
if t==a[i+2]:
b=a.copy()
b.remove(t)
b.remove(t)
b.remove(t)
if dfs(b): return 1
# 順子
elif (t in a) and (t+1 in a) and (t+2 in a):
b=a.copy()
b.remove(t)
b.remove(t+1)
b.remove(t+2)
if dfs(b): return 1
return 0
a,ans=list(map(int, input().split())),
for i in range(1,10):
cards=a.copy()
cards.sort()
ans=' '.join(str(x) for x in sorted(ans)) if ans else '0'
print(ans)
位元組跳動 雀魂啟動
小包最近迷上了一款叫做雀魂的麻將遊戲,但是這個遊戲規則太複雜,小包玩了幾個月了還是輸多贏少。於是生氣的小包根據遊戲簡化了一下規則發明了一種新的麻將,只留下一種花色,並且去除了一些特殊和牌方式 例如七對子等 具體的規則如下 例如 111 2226 6677 799 可以組成1,2 6,7的4個刻子和9...
位元組題 雀魂啟動!
雀魂啟動!位元組跳動2019春招研發部分程式設計題彙總 牛客網 輸入是13個數字,統計每個數字出現的次數,根據題意,次數最大為4,而出現的數字種類在4 9之間,和牌方式有兩種,均需要乙個雀頭 2張一樣的牌作雀頭 分析一下,如果出現數字種類只有4種,那和牌的唯一方式就是乙個雀頭 2 4個順子 12 因...
uboot啟動引數設定分類及方法
2010 11 17 14 46 54 分類 預設分類 標籤 字型大小 大中小訂閱 一 nfs啟動核心與根檔案系統,核心與根檔案系統都在nfs上 bootargs noinitrd root dev nfs rw nfsroot 192.168.0.1 home tekkaman working n...