[問題] 13張牌的題目

作者: sgcob187575 (dteproof)   2018-04-10 08:43:10
請問下面題目2-2要按照規則自動產生前中後墩,有沒有人能提供演算法,我毫無頭緒。
題目: 一組玩家(人)牌跟三組電腦(程式)牌比賽,計算勝負(得失分),自行設定遊戲中一墩
的分數 (20分)
程式選項:
(1) 重新開始(重設開始積分)
(1-1) 一組玩家(人)選擇使用哪一組牌
(2) 繼續下一回
(2-1)撲克牌52張洗牌後,分四組牌各13張(三組給電腦,一組給玩家)
(2-2)玩家(人)以及電腦(程式)各自根據13張規則排出自己的牌組(牌組必須按照規定 前
墩三張,中墩五張,後墩五張。後墩必須大於等於中墩,中墩必須大於等於前墩,否則視
為三墩全輸)
(2-3) 四組牌比賽,計算得失分(自行設定遊戲中一墩的分數)
(3) 不玩了
13張遊戲規定:
牌組規定:
前墩三張,中墩五張,後墩五張
後墩 必須大於等於 中墩
中墩 必須大於等於 前墩
否則視為三墩全輸
牌型大小: 一條龍>同花順>鐵枝>葫蘆>同花>順子>三條>兩對>對子>散牌
花色大小:黑桃>紅心>方塊>梅花
數字大小 A>K>Q>J>10>9>8>7>6>5>4>3>2
作者: pttworld (批踢踢世界)   2018-04-10 21:11:00
沒有要最佳的話,特殊牌先找再貪婪從尾堵最大找
作者: LPH66 (-6.2598534e+18f)   2018-04-11 09:45:00
先不管程式怎麼寫, 給你 13 張牌要你自己隨便組一個出來你先把你自己分組的方式逐步寫下來再來考慮寫成程式說隨便組是因為反正你只要組一組出來, 會不會贏不管
作者: ddavid (謊言接線生)   2018-04-11 18:10:00
基本上十三張的分堆本來就沒有最佳解,所以單純greedy找最大的開始分,符合條件就夠了簡單講就是13張拿來從最大的牌型開始找看存不存在,找到存在的最大五張牌型就分成第一墩,從剩下8張再重跑一次同樣搜尋,找到就是第二墩的五張,剩下三張自然成墩就好
作者: pttworld (批踢踢世界)   2018-04-11 18:54:00
特殊牌要看經驗,頭衝三或A胚掛K頭或刁雙同花都安全
作者: ddavid (謊言接線生)   2018-04-12 15:38:00
這題目並沒有要求更佳打牌策略,就無視吧XD

Links booklink

Contact Us: admin [ a t ] ucptt.com