zoukankan      html  css  js  c++  java
  • 【洛谷 3802】小魔女帕琪

    题目背景

    从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼。

    帕琪能熟练使用七种属性(金、木、水、火、土、日、月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从而唱出强力的魔法。比如说为了加强攻击力而将火和木组合,为了掩盖弱点而将火和土组合等等,变化非常丰富。

    题目描述

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

    现在帕琪有7种属性的能量晶体,分别为a1,a2,a3,a4,a5,a6,a7(均为自然数),每次释放魔法时,会随机消耗一个现有的能量晶体,然后释放一个对应属性的魔法。

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

    输入格式

    一行7个数字,a1,a2,a3,a4,a5,a6,a7

    输出格式

    一个四舍五入保留3位的浮点数

    输入输出样例

    输入 #1
    1 1 1 1 1 1 1
    输出 #1
    1.000

    说明/提示

    样例说明:

    显然一定会触发一次帕琪七重奏

    数据范围:

    对于30%的测试点,a1+a2+a3+a4+a5+a6+a7<=10

    对于100%的测试点,a1+a2+a3+a4+a5+a6+a7<=10^9

    by-szc

    题解:又是一道恶心的期望。。

    #include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    typedef long long ll;
    using namespace std;
    double a[10],sum,ans=1;
    int main(){
        freopen("3802.in","r",stdin);
        freopen("3802.out","w",stdout);
        for(int i=1;i<=7;i++){
            scanf("%lf",&a[i]);
            sum+=a[i];
        }
        if (sum<7) { printf("0.000"); return 0; }
        for(int i=1;i<=7;i++)
            ans=ans*a[i]/(sum-i+1);
        printf("%.3lf
    ",ans*5040*(sum-6));
        return 0;
    }
  • 相关阅读:
    HDU 5640 King's Cake
    HDU 5615 Jam's math problem
    HDU 5610 Baby Ming and Weight lifting
    WHU1604 Play Apple 简单博弈
    HDU 1551 Cable master 二分
    CodeForces659C Tanya and Toys map
    Codeforces 960E 树dp
    gym 101485E 二分匹配
    Codeforces 961E 树状数组,思维
    Codeforces Round #473 (Div. 2) D 数学,贪心 F 线性基,模板
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/11823742.html
Copyright © 2011-2022 走看看