剑指 Offer 60. n个骰子的点数
没写出来的简单dp
class Solution {
public:
vector<double> twoSum(int n) {
int dp[15][70];
memset(dp,0,sizeof dp);
for(int j=1;j<=6;j++)
dp[1][j]=1;
for(int i=2;i<=n;i++)
for(int j=i;j<=i*6;j++)
for(int k=1;k<=6;k++)
if(j>=k)
dp[i][j]+=dp[i-1][j-k];
vector<double> res;
int all=pow(6,n);
for(int j=n;j<=6*n;j++){
res.push_back(double(dp[n][j])/all);
}
return res;
}
};
网友评论