Lightoj 1027

来源:互联网 发布:libjpeg.so.62 ubuntu 编辑:程序博客网 时间:2024/06/07 10:55

第一次写期望的题目,感觉自己zz了好久,想不出来突破口,最后还是想通了
题意:

给n个门,和对应的x[i],开每个门的概率相同,整数代表进入这扇门,x[i]后出迷宫,负数代表进入这扇门,-x[i]后回到原位。给出离开迷宫的数学期望。

思路:

没怎么写过概率题,想了好久才明白

设pa概率出去,pb概率回到原位,ta为出去的平均时间,tb为回来的平均时间

现在面对着门, 我此时出去的数学期望是E

pa * ta    时间出去

pb  *  tb   回到原位,又将面对门,而此时出去的数学期望又是E


显然  E=pa*ta +pb*( tb + E );

         E=(pa*ta+pb*tb)/(1-pb)

         E=(pa*ta+pb*tb) / pa

        

#include<stdio.h>#include<math.h>int gcd(int a,int b){return b?gcd(b,a%b):a;}int main(){int t;int a,c,n;int sum=0;int k=1;scanf("%d",&t);while(t--){sum=0;a=0;scanf("%d",&n);for(int i=0;i<n;i++)    {    scanf("%d",&c);    if(c>0) sum+=c;    else sum-=c;        if(c>0) a++;     }          if(a==0) printf("Case %d: inf\n",k++);     else{            int b=gcd(a,sum);       sum/=b;       a/=b;          printf("Case %d: %d/%d\n",k++,sum,a);         }      }return 0; } 





原创粉丝点击