zoukankan      html  css  js  c++  java
  • UVA 11181 Probability|Given

    有n个人准备去超市逛,其中第i个人买东西的概率是P i 。逛完以后你得知有r个人买了东
    西。根据这一信息,请计算每个人实际买了东西的概率。输入n(1≤n≤20)和r(0≤r≤n),
    输出每个人实际买了东西的概率。

    概率

    套公式

    屠龙宝刀点击就送

    #include <cstring>
    #include <cstdio>
    #define N 25
    
    int n,r;
    bool vis[N];
    double p[N],z,ans[N];
    void dfs(int pos,int num)
    {
        if(num==r)
        {
            double tmp=1;
            for(int i=1;i<=n;++i)
            {
                if(vis[i]) tmp*=p[i];
                else tmp*=(1-p[i]);
            }
            z+=tmp;
            for(int i=1;i<=n;++i) if(vis[i]) ans[i]+=tmp;
        }
        for(int i=pos+1;i<=n;++i)
        {
            vis[i]=1;
            dfs(i,num+1);
            vis[i]=0;
        }
    }
    int Main()
    {
        int Case=0;
        while(scanf("%d%d",&n,&r)!=EOF)
        {
            if(n==0&&r==0) break;
            z=0;
            memset(ans,0,sizeof(ans));
            memset(vis,0,sizeof(vis));
            for(int i=1;i<=n;++i) scanf("%lf",&p[i]);
            dfs(0,0);
            printf("Case %d:
    ",++Case);
            for(int i=1;i<=n;++i) printf("%.6lf
    ",ans[i]/z);
        }
        return 0;
    }
    int sb=Main();
    int main(int argc,char *argv[]){;}
  • 相关阅读:
    语句
    1101 事务存储引擎触发器函数
    1029 作业
    1029 数据库表以及行的基本操作
    1023 笔记
    1022 作业
    1022 笔记
    1021 笔记
    查看pip已经安装过的包
    查看Python支持的.whl文件版本
  • 原文地址:https://www.cnblogs.com/ruojisun/p/7606034.html
Copyright © 2011-2022 走看看