light oj 1027 A Dangerous Maze

时间:2021-07-18 11:55:03

  一道数学期望题,唉唉,概率论学的不好啊~~

  求走出迷宫的期望时间。

  由于有的门会回到起点,所以有可能会走很多遍,设能走出去的门的个数为n1,总的个数为n,那么一次走出去的概率为n1/n,走一次的用的平均时间是sum(t)/n,期望的次数为n/n1。

  时间期望是:(sum(t)/n)*(n/n1)=sum(t)/n1。

#include<stdio.h>

int gcd(int a,int b){return b?gcd(b,a%b):a;}
int main()
{
int T,cas=;;
int n,n1,sum,a;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
n1=n;
sum=;
for(int i=;i<n;i++)
{
scanf("%d",&a);
if(a>)
sum+=a;
else
sum-=a,n1--;
}
if(!n1)
printf("Case %d: inf\n",cas++);
else
{
int tmp=gcd(sum,n1);
sum/=tmp;
n1/=tmp;
printf("Case %d: %d/%d\n",cas++,sum,n1);
}
}
return ;
}