CodeForces

来源:互联网 发布:天刀人生至此知何似 编辑:程序博客网 时间:2024/06/07 21:45

这个破题气死我了。。一整场比赛卡这一道题,式子推的都对,没考虑到组合数上边那个数相等的话可以约分。   还是数学没学好啊TUT  根本就没看出是可以约分的。

TUTTUTTUTTUTTUT


#include<bits/stdc++.h>using namespace std;const int N=123;int a[N];int main(){    int n,m,h;    scanf("%d%d%d",&n,&m,&h);    int sum=0;    for(int i=1;i<=m;i++)    {        scanf("%d",&a[i]);        sum+=a[i];    }    if(sum<n)    {        printf("-1\n");        return 0;    }    if(a[h]==1)    {        printf("%.6f\n",0);        return 0;    }    int x=sum-1;    int y=sum-a[h];    double ans=1.0;    for(int i=1;i<=n-1;i++)    {        ans*=(y*1.0)/x;        x--;        y--;    }    printf("%.6f\n",(double)(1.0-ans));    return 0;}


原创粉丝点击