HDU-4438 Hunters 期望 水

来源:互联网 发布:美工简历 编辑:程序博客网 时间:2024/05/17 06:35

最近在复习概率DP求期望,顺便做一下。

分成第二个人选择老虎或者狼的情况。

然后

s1+=q*(p)*(p)*(x+y)+q*p*(1-p)*x+q*(1-p)*p*y;//老虎 且第一个人选择老虎的期望
s1+=(1-q)*x;//老虎 且第一个人选择狼的期望

求一下取大的输出就好。

#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <queue>#include <vector>#include <iomanip>#include <algorithm>using namespace std;double x,y;double p,q;int main(){    int t;    scanf("%d",&t);    while(t--)    {        scanf("%lf%lf%lf%lf",&x,&y,&p,&q);//p为第二个人的杀死概率         double s1=0,s2=0;        s1+=q*(p)*(p)*(x+y)+q*p*(1-p)*x+q*(1-p)*p*y;//老虎         s1+=(1-q)*x;        s2+=q*y;//狼        s2+=(1-q)*(p)*(p)*(x+y)+(1-q)*(1-p)*p*y+(1-q)*p*(1-p)*x;         if(s1>s2)        {            printf("tiger %.4f\n",s1);        }        else        {            printf("wolf %.4f\n",s2);        }    }    return 0;}


0 0