hdu 4586 Play the Dice

思路:设期望值为s,前m个是再来一次机会,则有

s=(a[1]+s)/n+(a[2]+s)/n+……+(a[m]+s)/n+a[m+1]/n……

化简:(n-m)s=sum

当sum=0时,为0;

当n==m时,为inf;

否则为sum/(n-m).

代码如下:

 1 #include<cstdio>
 2 #define I(x) scanf("%d",&x)
 3 int main()
 4 {
 5     int n,m,t,sum;
 6     while(I(n)!=EOF){
 7         sum=0;
 8         for(int i=0;i<n;i++){
 9             I(t);
10             sum+=t;
11         }
12         I(m);
13         for(int i=0;i<m;i++) I(t);
14         if(sum==0) printf("0.00
");
15         else if(n==m) printf("inf
");
16         else printf("%.2lf
",1.0*sum/(n-m));
17     }
18     return 0;
19 }
View Code
原文地址:https://www.cnblogs.com/xin-hua/p/3268186.html