luogu P3802 小魔女帕琪 |数学期望

题目描述

现在帕琪与强大的夜之女王,吸血鬼蕾咪相遇了,夜之女王蕾咪具有非常强大的生命力,普通的魔法难以造成效果,只有终极魔法:帕琪七重奏才能对蕾咪造成伤害。帕琪七重奏的触发条件是:连续施放的 &7&个魔法中,如果魔法的属性各不相同,就能触发一次帕琪七重奏。

请注意,无论前 &6& 个魔法是否已经参与施放终极魔法,只要连续 &7& 个魔法的属性各不相同,就会再触发一次终极魔法。例如,如果用序号来代表一种魔法,魔法的施放序列为 &1, 2, 3, 4, 5, 6,7,1&,则前 &7& 个魔法会触发一次终极魔法,后 &7& 个魔法会再触发一次终极魔法。

现在帕琪有 &7& 种属性的能量晶体,第 &i& 种晶体可以施放出属性为 iii 的魔法,共有 &a_i& 个。每次施放魔法时,会等概率随机消耗一个现有的能量晶体,然后释放一个对应属性的魔法。

现在帕琪想知道,她触发帕琪七重奏的期望次数是多少,可是她并不会算,于是找到了学 OI 的你

输入格式

输入只有一行 &7& 个整数,第 &i& 个整数代表 &a_i&​。

输出格式

输出一行一个实数代表答案,四舍五入保留三位小数。


对于每一位i,从i开始的7位中,7个魔法都不相同的概率为7! * a1/n * a2/(n-1) * a3/(n-2) * a4/(n-3) *a5/(n-4) * a6/(n-5) * a7/(n-6)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
double a1,a2,a3,a4,a5,a6,a7,n;
int main(){
	cin>>a1>>a2>>a3>>a4>>a5>>a6>>a7;
	n=a1+a2+a3+a4+a5+a6+a7;
	printf("%.3lf\n",5040*a1/n*a2/(n-1)*a3/(n-2)*a4/(n-3)*a5/(n-4)*a6/(n-5)*a7);
}
posted @ 2020-04-11 08:52  白木偶君  阅读(145)  评论(0编辑  收藏  举报