设走出迷宫期望时间为T=0,遍历n个门,x[i]为走每个门花费的时间
第 i 个门,如果可以走出迷宫,则T+=(x[i])/n
如果不能走出迷宫,则T+=(x[i]+T)/n
把公式化简后可得,T=sum/cnt,sum为x[i]总和,cnt为可以走出去的门的个数
如果cnt==0,那么就输出inf
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int T,n,kase=0;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
int sum=0,cnt=0,v;
for(int i=0;i<n;i++)
{
scanf("%d",&v);
if(v>0) cnt++;
sum+=abs(v);
}
printf("Case %d: ",++kase);
if(cnt) printf("%d/%d\n",sum/gcd(sum,cnt),cnt/gcd(sum,cnt));
else printf("inf\n");
}
return 0;
}