zoukankan      html  css  js  c++  java
  • 2018年长沙理工大学第十三届程序设计竞赛 C 取手机 【概率】

    链接:https://www.nowcoder.com/acm/contest/96/C
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld
    题目描述
    durong有a台iphonex和b台s8,并且放在一个保险箱里,durong现在一台一台从保险箱随机拿出这些手机,现在他想知道第k次拿出s8的概率是多少
    输入描述:

    第一行一个正整数T,表示数据组数。(1<=T<=10000)
    接下来T行输入a,b,k
    其中(1<=a,b,k<=1e9) k<=a+b;

    输出描述:

    第k次拿出s8的概率,保留三位小数

    示例1
    输入

    1
    1 1 1

    输出

    0.500

    思路

    我们可以假设 将 N 台手机排序 然后一步一步从队首取出

    问题就转变为

    排在第K位为S8的概率是多少
    那么显然答案就是 b / n

    AC代码

    #include <cstdio>
    #include <cstring>
    #include <ctype.h>
    #include <cstdlib>
    #include <cmath>
    #include <climits>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <map>
    #include <stack>
    #include <set>
    #include <list>
    #include <numeric> 
    #include <sstream>
    #include <iomanip>
    #include <limits>
    
    #define CLR(a, b) memset(a, (b), sizeof(a))
    #define pb push_back
    
    using namespace std;
    typedef long long ll;
    typedef long double ld;
    typedef unsigned long long ull;
    typedef pair <int, int> pii;
    typedef pair <ll, ll> pll;
    typedef pair<string, int> psi;
    typedef pair<string, string> pss;
    
    const double PI = acos(-1.0);
    const double E = exp(1.0);
    const double eps = 1e-8;
    
    const int INF = 0x3f3f3f3f;
    const int maxn = 5e2 + 5;
    const int MOD = 1e9;
    
    int main()
    {
        int t;
        cin >> t;
        while (t--)
        {
            int a, b, k;
            scanf("%d%d%d", &a, &b, &k);
            printf("%.3lf
    ", b * 1.0 / (a + b));
        }
    }
    
  • 相关阅读:
    km算法
    HDU 1358
    HDU 3746
    CF 432D
    HDU 4725
    14年百度之星资格赛第四题
    AC自动机
    RMQ
    HDU 4635
    HDU 3667
  • 原文地址:https://www.cnblogs.com/Dup4/p/9433096.html
Copyright © 2011-2022 走看看