XiaoWei的战斗力

来源:互联网 发布:网络推广方式有哪些 编辑:程序博客网 时间:2024/04/29 06:24

XiaoWei的战斗力

                                                                            Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
                                                                                                          Total Submission(s): 536    Accepted Submission(s): 122


Problem Description
XiaoWei沉迷RPG无法自拔,但是他的战斗力只有5,所以他决定氪金提升战斗力。
XiaoWei购买了n个福袋。打开1个福袋后,有以下三种情况出现:
1.获得屠龙宝刀,概率为p1;
2.获得火麒麟,概率为p2;
3.什么都没获得,概率为1-p1-p2;
已知每把屠龙宝刀能够使战斗力*2,每把火麒麟能够使战斗力*1.5。XiaoWei虽然初始战斗力很弱,但是潜力无限,可以装备任意数量的屠龙宝刀和火麒麟,并且效果可以叠加。XiaoWei想知道,打开n个福袋后并装备武器后,他的战斗力期望是多少?
 

Input
第一行只包含一个整数T(1≤T≤100),表示有T组数据。
对于每组数据,包含1个整数n(1≤n≤20),和2个浮点数p1和p2(0≤p1,p2≤1 且 0≤p1+p2≤1)。
 

Output
对于每组数据,输出一行结果。
输出格式为“Case #x: y”,x表示数据组数(从1开始),y表示答案。
y以科学计数法输出,保留三位有效数字。
 

Sample Input
31 0.5 0.52 1 020 0 0
 

Sample Output
Case #1: 8.75e+000Case #2: 2.00e+001Case #3: 5.00e+000
 

解题思路:概率dp


#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#include <set>#include <bitset>#include <stack>#include <map>#include <climits>#include <functional>using namespace std;#define LL long longconst int INF=0x3f3f3f3f;double dp[25][25][25],p1,p2;int main(){    int n,t,cas=0;    scanf("%d",&t);    while(t--)    {        scanf("%d%lf%lf",&n,&p1,&p2);        memset(dp,0,sizeof dp);        dp[0][0][0]=1;        for(int i=1; i<=n; i++)        {            for(int j=0; j<=n; j++)            {                for(int k=0; k<=n; k++)                {                    dp[i][j][k]=dp[i-1][j][k]*(1-p1-p2);                    if(j) dp[i][j][k]+=dp[i-1][j-1][k]*p1;                    if(k) dp[i][j][k]+=dp[i-1][j][k-1]*p2;                }            }        }        double ans=0;        for(int i=0; i<=n; i++)        {            for(int j=0; j<=n; j++)            {                double t=5;                for(int k=1;k<=i;k++) t=t*2;                for(int k=1;k<=j;k++) t=t*1.5;                ans+=t*dp[n][i][j];            }        }        printf("Case #%d: %.2e\n",++cas,ans);    }    return 0;}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝不能用花呗怎么办 淘宝号给冻结了怎么办 淘宝买家号封了怎么办 拼多多商家盗图怎么办 被拼多多盗图了怎么办 淘宝盗用图片被投诉怎么办 淘宝别人盗用我的图片怎么办 淘宝盗图申诉原图过大怎么办 淘宝别人举报我盗用图片怎么办 淘宝卖家被投诉盗图怎么办 淘宝卖家被投诉卖假货怎么办 淘宝买到假货卖家不承认怎么办 被投诉盗图扣2分怎么办 拼多多盗淘宝图怎么办 微信视频清理了怎么办 牛仔短裤买大了怎么办 淘宝图片打开变大了怎么办 同城换公司社保怎么办 劳务不给交社保怎么办 好多工厂外包工不交社保怎么办 外包公司没有交社保怎么办 外包公司不给交社保怎么办 银行取100万现金怎么办 给老外发警告信后怎么办 照片上传是歪的怎么办 日亚不能直邮的怎么办 电话信息被卖了怎么办 被亚马逊跟卖了怎么办 玉米出芽后土壤不够湿怎么办 雨伞请输入授权码怎么办 网页放手机端后看不了怎么办 微信收款码存在违法行为怎么办 tst优惠码密码忘了怎么办 扩展器登录不上怎么办 微信学法小程序积分不更新怎么办 开发商不给办房产证怎么办 传淘宝产品规格不匹配怎么办 刚买的手机想退怎么办 空调主机空间不足不散热怎么办 lol网速快延迟高怎么办 4g手机延迟高怎么办