题解 P3802 【小魔女帕琪】

· · 题解

#include<cstdio>
#include<iostream>
using namespace std;
//本题涉及的知识点:排列组合和数学期望;算是期望的入门题;
//本题的价值为一,故此题的期望等于概率; 
//总体来看:有n=a1+a2+a3+a4+a5+a6+a7点的魔法;
//首先没有哪一个位置的魔法数为0;
/*
  所以先在从1到7的位置下,概率为:(a1/n)*(a2/n-1)*....*(a7/n-6);
  再放大一点考虑1~n中有n-6段连续的1~7;
  那么概率还要再乘上(n-6);
  每七个位置中,a1~7的排布有7!种;
 所以得出公式 E=7!*(n-6)* (a1/n)*(a2/n-1)*....*(a7/n-6)再化简一下;
 代码:*/
 int main()
 {
    double a[8],n=0;
     for(int i=1;i<=7;i++)
     {
      scanf("%lf",&a[i]);
      n+=a[i];
     }
       printf("%.3lf",5040*a[1]/n*a[2]/(n-1)*a[3]/(n-2)*a[4]/(n-3)*a[5]/(n-4)*a[6]/(n-5)*a[7]);
       return 0;
 }