lightoj 1027 A Dangerous Maze 期望

Posted iat14

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lightoj 1027 A Dangerous Maze 期望相关的知识,希望对你有一定的参考价值。

设答案为r,cnt为x[i] >=0的个数

那么r = 1/n *  (Σx[i](x[i] >= 0) + ∑(r - x[i])(x[i] < 0))

然后把r移项到一起解方程, 得到r = ∑|x[i]| / cnt,同除gcd。记得特判下x[i]均为负数的情况即可。

 1 #include <cstdio>
 2 #include <algorithm>
 3 using namespace std;
 4 int T,cas,n,tot,gcd,cnt;
 5 int x[110];
 6 int main()
 7 
 8     for (scanf("%d",&T);T != 0;T--)
 9     
10         cas++;
11         tot = cnt = 0;
12         scanf("%d",&n);
13         for (int i = 1;i <= n;i++)
14         
15             scanf("%d",&x[i]);
16             if (x[i] >= 0)
17             
18                 cnt++;
19                 tot += x[i];
20             else
21                 tot -= x[i];
22         
23         if (cnt == 0)
24         
25             printf("Case %d: inf\n",cas); 
26             continue;
27         
28         gcd = __gcd(tot,cnt);
29         printf("Case %d: %d/%d\n",cas,tot / gcd,cnt / gcd);
30         
31     
32     return 0;
33 

 

以上是关于lightoj 1027 A Dangerous Maze 期望的主要内容,如果未能解决你的问题,请参考以下文章

LightOJ1027 A Dangerous Maze(期望)

lightoj-1027 - A Dangerous Maze(数学期望)

LightOJ 1027 A Dangerous Maze(期望)

LightOJ 1027 A Dangerous Maze 概率期望

LightOj 1027 A Dangerous Maze

lightoj 1027 A Dangerous Maze 期望