直接枚举计算就行;

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #define maxn 22
  5. using namespace std;
  6.  
  7. double ans[maxn],p[maxn];
  8. bool vis[maxn];
  9. int n,r;
  10. void dfs(int cur,int cot)
  11. {
  12. if(cur>n)
  13. {
  14. if(cot==r)
  15. {
  16. double tmp=;
  17. for(int i=; i<=n; i++)
  18. {
  19. if(vis[i])
  20. tmp*=p[i];
  21. else tmp*=(-p[i]);
  22. }
  23. ans[]+=tmp;
  24. for(int i=; i<=n; i++)
  25. if(vis[i])
  26. ans[i]+=tmp;
  27. }
  28. return;
  29. }
  30. vis[cur]=;
  31. dfs(cur+,cot);
  32. vis[cur]=;
  33. dfs(cur+,cot+);
  34. vis[cur]=;
  35. }
  36.  
  37. int main()
  38. {
  39. int ca=;
  40. while(scanf("%d%d",&n,&r)&&(n+r))
  41. {
  42. for(int i=; i<=n; i++)
  43. {
  44. ans[i]=;
  45. vis[i]=;
  46. }
  47. for(int i=; i<=n; i++)
  48. scanf("%lf",&p[i]);
  49. dfs(,);
  50. printf("Case %d:\n",ca++);
  51. for(int i=;i<=n;i++)
  52. printf("%lf\n",ans[i]/ans[]);
  53. }
  54. return ;
  55. }

uva 11181的更多相关文章

  1. 概率论 --- Uva 11181 Probability|Given

    Uva 11181 Probability|Given Problem's Link:   http://acm.hust.edu.cn/vjudge/problem/viewProblem.acti ...

  2. uva 11181 - Probability|Given(概率)

    题目链接:uva 11181 - Probability|Given 题目大意:有n个人去超市买东西,给出r,每个人买东西的概率是p[i],当有r个人买东西的时候,第i个人恰好买东西的概率. 解题思路 ...

  3. UVA - 11181 数学

    UVA - 11181 题意: n个人去买东西,其中第i个人买东西的概率是p[i],最后只有r个人买了东西,求每个人实际买了东西的概率 代码: //在r个人买东西的概率下每个人买了东西的概率,这是条件 ...

  4. UVa 11181 - Probability|Given(条件概率)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. UVa 11181 条件概率

    题意:n个人选r个人,每个人被选中的概率为pi,问最后每个人被选中的概率是多少. sol:就是个简单的概率题,范围还特别小,深搜秒出...然而公式什么的很多还是需要注意的...     条件概率的公式 ...

  6. UVA 11181 dfs 概率

    N friends go to the local super market together. The probability of their buying something from them ...

  7. UVa 11181 (条件概率) Probability|Given

    题意: 有n个人买东西,第i个人买东西的概率为Pi.已知最终有r个人买了东西,求每个人买东西的概率. 分析: 设事件E为r个人买了东西,事件Ei为第i个人买了东西.所求为P(Ei|E) = P(EiE ...

  8. uva 11181 - Probability|Given

    条件概率公式:P( A|B ) = P( AB ) / P( B ) 表示在事件B发生的前提,事件A发生的可能性: 问题的: 复位事件E:r个人买东西: 事件Ei:文章i个人买东西: 的要求是P( E ...

  9. Probability|Given UVA - 11181(条件概率)

    题目大意:n个人去购物,要求只有r个人买东西.给你n个人每个人买东西的概率,然后要你求出这n个人中有r个人购物并且其中一个人是ni的概率pi. 类似于5个人中 抽出三个人  其中甲是这三个人中的一个的 ...

随机推荐

  1. hdu 1716(dfs)

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1716     排列2   Problem Description Ray又对数字的列产生了兴趣:现 ...

  2. OC5_Block

    // // main.m // OC5_Block // // Created by zhangxueming on 15/6/26. // Copyright (c) 2015年 zhangxuem ...

  3. JS函数式编程【译】2.3 函数式程序员的工具集

  4. equals()源代码及释义

    源代码: public boolean equals(Object anObject) {if (this == anObject) { return true;}if (anObject insta ...

  5. 【学习】Windows PE文件学习(一:导出表)

    今天做了一个读取PE文件导出表的小程序,用来学习. 参考了<Windows PE权威指南>一书. 首先, PE文件的全称是Portable Executable,可移植的可执行的文件,常见 ...

  6. Netfilter深度解剖

         在网络上发现这个Netfilter写的很好的系列文章,为了便于后期寻找,特此标注下博客地址,感谢大大神提供.     ---------------------------分割线开始---- ...

  7. ASP.NET MVC 及 Areas 简单控制路由

    ASP.NET MVC中怎么去控制路由,这个想关的文章很多,我在这里就是自我总结一下,仅供参考. 1.我们新建一个项目,查看RouteConfig.cs,代码如下: public static voi ...

  8. jQuery滚动监听插件Waypoints

    页面内滚动操作的导航插件Waypoints.它可以让你方便的处理页面滚动事件,你可以比较自由的在自己的UI中使用这个插件控制页面滚动事件. Waypoints根据用户滚动的位置来帮助开发者构建相关的设 ...

  9. 利用PowerDesigner绘制PDM生成SQL Server数据库

    PowerDesigner是个很强大的建模工具,可以利用它绘制各种图形,本文利用该工具绘制PDM,进而生成SQL Server数据库. 比如绘制一个简单的学生选课.教师授课管理系统的PDM: pk表示 ...

  10. php 获取数组第一个值的方法分享

    以下是对使用php实现获取数组第一个值的方法进行了详细的分析介绍,需要的朋友可以过来参考下 reset (PHP 3, PHP 4, PHP 5)reset -- 将数组的内部指针指向第一个单元 说明 ...