题目大意 : 在n个门前选择一扇门出去, 然后如果第i扇门的 Xi值是正的话,你会花费Xi时间后出去 , 如果Xi是负数的话你会花费-Xi时间后回到老地方,并且忘记了刚才的选择, 选择一扇门的概率是等概的。求出去的期望。
题解:本题对于每一个点,都可以随机地选择n个门的任一个,所以就不存在什么谁先算,谁后算的顺序了。并且离开这里的方法是无穷多种,所以一般的期望公式是没办法列出来的
只要选择了一扇xi为正的门(概率为1/n)就可以出去了,期望E+=1/n*xi
如果选择了一扇xi为负的门(概率为1/n)则就会又回到起点,期望E+=1/n*(|x[i]|+E)
所以对于n扇门扫一遍
出去的期望
当num正为0的时候,就是inf
#include <bits/stdc++.h>
using namespace std;
#define maxn 100010
typedef long long ll;
int n;
int a[110];
int main()
{
//freopen("input.txt","r",stdin);
int T;
cin>>T;
for(int cas=1;cas<=T;++cas)
{
cin>>n;
int numplus=0;
int sum=0;
for(int i=1;i<=n;++i)
{
cin>>a[i];
if(a[i]>0)
numplus++;
sum+=abs(a[i]);
}
if(numplus==0)
{
printf("Case %d: inf\n",cas);
continue;
}
int up=sum;//分子
int down=numplus;//分母
int gcd=__gcd(up,down);
up/=gcd;
down/=gcd;
printf("Case %d: %d/%d\n",cas,up,down);
}
return 0;
}