zoukankan      html  css  js  c++  java
  • 东方CannonBall (概率DP)

    满分作法:

    dp[i][j]表示第i个骰子置出后,总点数为j的概率。

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    #include<cmath>
    using namespace std;
    typedef long long ll;
    int n,m;
    double dp[1007][6007];
    int main()
    {
     scanf("%d%d",&n,&m);
     dp[0][0]=1;
     for(int i=1;i<=max(n,m);i++)
     {
       for(int j=1;j<=6*max(n,m);j++)
       {
        for(int k=1;k<=6;k++)
        if(j-k>=0) dp[i][j]=dp[i][j]+dp[i-1][j-k]/6.0; 
       }
     }
     double ans=0,tmp=0;
     for(int i=1;i<=6*max(n,m);i++)
     {
      ans+=tmp*dp[n][i];
      tmp+=dp[m][i];	
     }
     printf("%.2lf",ans*100);
     cout<<"%"<<endl;
     return 0;	
    }
    
  • 相关阅读:
    五种Sublime text 3同时快速编辑多行内容
    update 更新某个字段自动加1
    oracle 一行记录被锁
    事件
    练习题1
    语法
    开始js
    js简述
    概述
    软连接
  • 原文地址:https://www.cnblogs.com/lihan123/p/11845425.html
Copyright © 2011-2022 走看看