LightOJ - 1104 Birthday Paradox

给你一年的天数 n 问你至少要邀请多少人(不算自己) 可以让我们这些人至少有两个人的生日在同一天的概率大于0.5

题目链接

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
const int N = 1e5+7;
const double eps = 1e-10;
int dp[N];
int main(){
//    ios::sync_with_stdio(false);
//    cin.tie(0);
    int t;
    scanf("%d",&t);
    int w=0;
    for(int i=1;i<N;i++){
        double ans=1.0;
        for(int j=1;;j++){
            ans=ans*((i-j)*1.0/i);
            if(ans-0.5<eps){
                dp[i]=j;
                break;
            }
        }
    }
    while(t--){
        int n; scanf("%d",&n);
        printf("Case %d: %d\n",++w,dp[n]);
    }
}

猜你喜欢

转载自www.cnblogs.com/wmj6/p/11200590.html