#45475: 其他人的數學解真厲害,我只會最樸素的 counter 判斷


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 臺中市立惠文高級中學
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2025-03-11 12:39:29
b519. 撲克牌遊戲-商競103 -- 103學年度商業類程式設計競賽模擬題 | From: [123.192.228.253] | 發表日期 : 2025-03-06 12:35

以下 python 的思路

 

快速分類數字的做法是將編號減一後整除 13

整數的部份是花色、餘數的部份是數字

 

用一個 dict 統計每個數字出現的頻率,然後使用 dict.values() 查看排型

dict.values() 記得要 sort 後比較好用

 

若結果為 [1, 4] ,則為四條

若結果為 [2, 3] ,則為葫蘆

若結果為 [1, 1, 3] ,則為三條

若結果為 [1, 2, 2] ,則為兩對

若結果為 [1, 1, 1, 2] ,則為一對

 

現在只剩下同花和順子,只需要把數字 sort 後,判斷首尾的差是否為 4 即可,再特判一組 A 10 J Q K 的情況

這樣就能判斷牌型是否是連續的數字

最後判斷所有牌的花色是否均相同即可

 

 
ZeroJudge Forum