用苹果手机做网站餐饮最有效的营销方案
一.在骰子游戏中,我们会有猜点数的问题。我们该如何用算法来描述呢?
加入我们当前只有一个骰子,我们该如何算概率呢?
我们现在开始推导一下吧:
首先是一个骰子的情况,我们可以简单的知道n个骰子一共可以掷出6^n种排列组合
一个骰子的情况:1 1 1 1 1 1
两个骰子的情况:0 1 2 3 4 5 6 5 4 3 2 1
三个骰子的情况:0 0 1 3 6 10....
此时我们的到了一个递推公式:
dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6];(i-6>0);
二.我们来处理一下代码逻辑
int main() {int n=5;int m=30;vector<vector<int>> res(n,vector<int>(m));for(int i=0;i<6;i++) res[0][i]=1;for(int i=1;i<n;i++){for(int j=i;j<m&&j<6*(i+1);j++){int temp=0;for(int k=1;k<=6;k++)if(k<=j) {temp += res[i - 1][j - k];}res[i][j]=temp;}}
}