zoukankan      html  css  js  c++  java
  • HDU 4015 Mario and Mushrooms

    Mario and Mushrooms

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)
    Total Submission(s): 265    Accepted Submission(s): 220


    Problem Description
    Mario usually relaxes himself by walking along the shady track near the Mushroom Kingdom. The evil King Koopa noticed that and placed a lot of mushroom on the road. There are two types of mushrooms, max mushrooms and bad mushrooms. The bad mushrooms will decrease Mario's HP by m points, on the other hand, max mushrooms will increase Mario's HP by one point. The mushrooms are randomly placed on the track and Mario will receive them one by one. Once Mario's HP becomes zero or below after he received a mushroom, he will die.
    Notice that Mario begins with HP zero, so if the first mushroom is bad, Mario will die immediately. Fortunately, if Mario receives all the mushrooms, he will be alive with HP 1. In the other words, if there are k bad mushrooms on the way, there will also be m*k+1 max mushrooms.
    Princess Peach wants to know the possibility for Mario staying alive. Please help her to calculate it out.
     

    Input
    There are several test cases. The first line contains only one integer T, denoting the number of test cases.
    For each test case, there is only one line including two integers: m and k, denoting the amount of points of HP the Mario will decrease if he receives a bad mushroom, and the number of bad mushrooms on the track. (1 <= m <= 1000, 1 <= k <= 1000)
     

    Output
    For each test case, output only real number denoting the possibility that Mario will survive if he receives all the randomly placed mushrooms one by one. The answer should be rounded to eight digits after the decimal point.
     

    Sample Input
    2 1 1 60 80
     

    Sample Output
    Case #1: 0.33333333 Case #2: 0.00020488
     

    Source
     

    Recommend
    lcy
     
     
    明显的概率题。。。。
    结果通过样例猜想就得出来了。。。很简单的结果,秒过
    #include<stdio.h>
    int main()
    {
    int T;
    int m,k;
    int iCase=0;
    scanf("%d",&T);
    while(T--)
    {
    iCase++;
    scanf("%d%d",&m,&k);
    printf("Case #%d: %.8lf\n",iCase,(double)1/(k+m*k+1));
    }
    return 0;
    }
  • 相关阅读:
    HDU 5492 Find a path
    codeforce gym 100548H The Problem to Make You Happy
    Topcoder SRM 144 Lottery
    codeforce 165E Compatible Numbers
    codeforce gym 100307H Hack Protection
    区间DP总结
    UESTC 1321 柱爷的恋爱 (区间DP)
    HDU 4283 You Are the One (区间DP)
    HDU 2476 String painter (区间DP)
    UESTC 426 Food Delivery (区间DP)
  • 原文地址:https://www.cnblogs.com/kuangbin/p/2198936.html
Copyright © 2011-2022 走看看