题意:有n扇们,每个门后有一个数字x,如果是正数的话,就代表x分钟后离开这个地方,如果是负数,就代表x分钟后你还要做一次选择,并且不知道上一次选择的是什么
思路:概率学的很差,其实这是一个几何分布,只有几何分布的期望是概率的倒数,好像其他的分布都不满足这个条件,几何分布的期望证明用的是差比数列,不是很难,这里有一篇我认为讲的比较好理解的(传送门)
代码:
#include <bits/stdc++.h> using namespace std; typedef long long LL; LL read() { LL x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } LL gcd(LL a,LL b){return b?gcd(b,a%b):a;} int a[105]; int main() { int T=read(); int cas=1; while(T--){ int n=read(); int ans=0,cnt=0; for(int i=1;i<=n;i++){ a[i]=read(); if(a[i]<0)cnt++; ans+=abs(a[i]); } if(cnt==n)printf("Case %d: inf ",cas++); else{ int as=gcd(ans,n-cnt); printf("Case %d: %d/%d ",cas++,ans/as,(n-cnt)/as); } } return 0; }