zoukankan      html  css  js  c++  java
  • LightOJ1317---Throwing Balls into the Baskets 解题心得

    原题:

    Description

    You probably have played the game "Throwing Balls into the Basket". It is a simple game. You have to throw a ball into a basket from a certain distance. One day we (the AIUB ACMMER) were playing the game. But it was slightly different from the main game. In our game we were N people trying to throw balls into identical Baskets. At each turn we all were selecting a basket and trying to throw a ball into it. After the game we saw exactly S balls were successful. Now you will be given the value of and M. For each player probability of throwing a ball into any basket successfully is P. Assume that there are infinitely many balls and the probability of choosing a basket by any player is 1/M. If multiple people choose a common basket and throw their ball, you can assume that their balls will not conflict, and the probability remains same for getting inside a basket. You have to find the expected number of balls entered into the baskets after Kturns.

    Input

    Input starts with an integer T (≤ 100), denoting the number of test cases.

    Each case starts with a line containing three integers N (1 ≤ N ≤ 16), M (1 ≤ M ≤ 100) and K (0 ≤ K ≤ 100) and a real number P (0  P ≤ 1).P contains at most three places after the decimal point.

    Output

    For each case, print the case number and the expected number of balls. Errors less than 10-6 will be ignored.

    Sample Input

    2

    1 1 1 0.5

    1 1 2 0.5

    Sample Output

    Case 1: 0.5

    Case 2: 1.000000

    分析:

    那个M完全没有用好吧,题目说这么长,完全就是在迷惑我们,结果就是  double ans = n*p*k;

    代码:

    #include <stdio.h>
    #include <iostream> 
    #include<cstdio>
    #include<iomanip>
    #include<cmath>
    using namespace std;
    
    int main()
    {
        int t;
        int kase = 0;
        cin >> t;
        int n, m, k;
        double p;
        while (t--)
        {
            kase++;
            cin >> n >> m >> k >> p;
            double ans = n*p*k;
            cout << "Case " << kase << ':'<<' ' << fixed << setprecision(6) << ans << endl;
        }
        return 0;
    }
  • 相关阅读:
    Android平台架构及特性
    MySQL 数据库性能优化之索引优化
    排序自己总结
    存储过程中“ 警告: 聚合或其他 SET 操作消除了 Null 值” 导致错误的解决
    存储过程的output及return的区别
    如果ssh端口转发时候g没有效果解决方案
    sql语句显示复选内容, indication 为复选框的累计value(整数),显示所有的
    kprfakesu.c Linux su密码欺骗 源码
    Unix/Linux上的后门技术和防范
    iis7应用程序池经常自动停止如何解决?
  • 原文地址:https://www.cnblogs.com/shawn-ji/p/4748953.html
Copyright © 2011-2022 走看看