動態規劃:
dp[i]
[j][k]表示投擲第i次,點數為j,k表示連續次數
狀態轉移:
//j出現一次的組合數等於上一輪投出非點數j的所有情況和
dp[i]
[j][1]
=sum
(dp[i-1]
[!j][:
])
//本輪投出連續k次的點數j的數量情況等於上一輪連續投出k-1次的點數j的數量情況
dp[i]
[j][k]
=dp[i-1]
[j][k-1]
if k<=rolmax[j]
**:
int
diesimulator
(int n, vector<
int>
& rollmax)
for(
int k =
2; k <= rollmax[j -1]
; k++
)int s =0;
for(
int t =
1; t <=
6; t++)}
dp[i]
[j][1]
= s;}}
int ans =0;
for(
int j =
1; j <=
6; j++)}
return ans;
}
Leetcode 1155 擲骰子的N中方法
這裡有 d 個一樣的骰子,每個骰子上都有 f 個面,分別標號為 1,2,f。我們約定 擲骰子的得到總點數為各骰子面朝上的數字的總和。如果需要擲出的總點數為 target,請你計算出有多少種不同的組合情況 所有的組合情況總共有 f d 種 模 10 9 7 後返回。示例 1 輸入 d 1,f 6,ta...
leetcode 1155 擲骰子的N種方法
這裡有 d dd 個一樣的骰子,每個骰子上都有 f ff 個面,分別標號為 1,2 f 1,2,f 1,2,f。我們約定 擲骰子的得到總點數為各骰子面朝上的數字的總和。如果需要擲出的總點數為 tar ge ttarget target 請你計算出有多少種不同的組合情況 所有的組合情況總共有 f df...
微軟100題(67)判斷撲克牌順子否和擲骰子
1.撲克牌的順子 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大小王可以看成任意數字。2.n個骰子的點數。把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。1 思路 先把輸...