题目本身不难。类似于dp。f(i)表示手中现有i颗糖果赢的概率,则下一局赢的概率是p(1-q),下一局输的概率是q(1-p),下一句平手的概率是1-p(1-q)-q(1-p),平手包括两人均答对或答错。那么可推导状态转移方程:
f(i) = p(1-q)f(i-1) + q(1-p)f(i+1) + [ 1-p(1-q)-q(1-p) ]f(i)
归并相同项可以得到等比数列,p(1-q)(f(i) - f(i-1)) = q(1-p)(f(i+1) - f(i))。设定比例系数,并利用等比数列求和公式可求。其中需要注意的是,f(0)=0,f(n+m)=1,因为手中若已经有n+m颗糖果,则已经获得全部胜利。我们需要求的是f(n)的概率是多少。除了考虑n或m为0的情况,还有p或q为1/0的情况,还必须考虑等比系数为1的情况,当等比系数为1无法用等比求和公式时,则证明二者答对的概率相等,此时应当考虑两者的糖果数目(概率论等概率)。等比为1,很容易想不到,wa了很多次。

 #include <stdio.h>
#include <math.h> int main() {
int m, n;
double p, q, winp, tmp; while (scanf("%d%d%lf%lf", &n, &m, &p, &q) != EOF) {
if (n == )
printf("0.00\n");
else if (m == )
printf("1.00\n");
else if (p== || q==)
printf("0.00\n");
else if (p== || q==)
printf("1.00\n");
else if (p == q) { // k==0
winp = 1.0*n/(m+n);
printf("%.2lf\n", winp);
} else {
tmp = q*(1.0-p) / (p*(1.0-q));
winp = (1.0-pow(tmp, n)) / (1.0-pow(tmp,n+m));
printf("%.2lf\n", winp);
}
} return ;
}

最新文章

  1. python 数据库
  2. 16、C++获取磁盘空间的方法
  3. scala调用java的方法,返回了一个对象链表List&lt;Student&gt;,在scala中遍历该链表获取指定Student的名字name
  4. C语言每日一题之No.5
  5. POJ 1410 Intersection(判断线段交和点在矩形内)
  6. SQL点滴之编辑数据(转)
  7. 通过 Azure 媒体服务进行高速编码
  8. SQL分页存储过程(不支持多表联合查询,不支持多字段排序)
  9. Javascript内存泄漏
  10. 101个linq例子
  11. (办公)MojoExecutionException
  12. Flask 中关于‘蓝图’ 的使用-------------------
  13. 自学python 7.
  14. 委托(作用:解耦),lambda的演化
  15. Docker Kubernetes 容器更新与回滚
  16. 玩nginx部署不同的web app
  17. Found more than one concrete type for given DbContext Type (xxx.xxxx.xxx) define MultiTenancySideAttribute with Tenant
  18. C/C++——程序的内存分配
  19. day04&lt;Java语言基础+&gt;
  20. Codeforces431C_K-Tree_KEY

热门文章

  1. 处理Assetbundle依赖关系时想到的一道题
  2. 关于NK3C使用富文本编辑器(CKEditor)发送HTML邮件的使用说明
  3. PTA Insert or Merge
  4. BZOJ 3173: [Tjoi2013]最长上升子序列
  5. BizTalk开发系列(十六) XML命名空间
  6. phalcon: acl权限控制
  7. iOS版 feedly 无法使用gmail账户的解决办法
  8. Javascript - IE8下parseInt()方法的取值异常
  9. postgres-xl 集体搭建(2)
  10. asp.net mvc 动态编译生成Controller
  11. Oracle系列-锁表与解锁解决方案(大招版)-解决问题才是王道
  12. USACO Training Section 1.1 题解(共4题)
  13. 带着萌新看springboot源码04
  14. openstack搭建之-glance配置(9)
  15. 红米手机5 Plus完美刷成开发版获取root权限的教程
  16. ajax jsonp请求报错not a function的解决方案
  17. Max Sum (dp)
  18. WinForm资源管理器开发(TreeView&amp;ListView)
  19. Machine Learning in action --LogisticRegession 逻辑回归
  20. iOS开发-类簇(Class Cluster)