题目是这样的,每个人手中有a和b的钱数,c为a和b中间最小的一个。

每个回合,两个人胜利的概率都是0.5,胜利者从失败者手中获得c的钱数。

如果有一个人手中没钱的话,那么他就failer,游戏结束。

现在给你初始状态问你这次游戏需要进行的回合以及A胜利的期望值分别为多少?

这样的,自己手动模拟几组数据就会发现胜利的概率就是a/(a+b)。

对于回合数,我们可以深搜,但是有的可能有环,所以我们只要设置深搜上线只需要深度为20即可。因为超过20的肯定不会对小数前五位产生影响。

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; int a,b,n,m,k=;
double ans1,ans2; double dfs(int x,int y,int tep)
{
if (tep>) return ;
if (x== || y==) return ;
int cur=min(x,y);
return +0.5*(dfs(x-cur,y+cur,tep+)+dfs(x+cur,y-cur,tep+));
} int main()
{
scanf("%d",&n);
m=;
while (n--)
{
scanf("%d%d",&a,&b);
ans2=(double)a/(a+b);
ans1=dfs(a,b,);
printf("Case %d: %.6lf %.6lf\n",++m,ans1,ans2);
}
return ;
}

最新文章

  1. 关于纯移动web优点的一点思考
  2. 2015弱校联盟(1) -A. Easy Math
  3. [PAT]求集合数据的均方差(15)
  4. Bitnami Redmine安装和插件配置
  5. DBUtils学习
  6. iOS开发笔记系列-基础7(C语言特性)
  7. 状态压缩dp zoj3802
  8. 竞价广告系统-ZooKeeper介绍
  9. java volatitle介绍与使用
  10. Spark官方2 ---------Spark 编程指南(1.5.0)
  11. 【Learning】 动态树分治
  12. Acceleration for ML 论文导读
  13. js常用的正则表达式
  14. Codeforces Round #529 (Div. 3) F.Make It Connected
  15. linux环境快速安装python3
  16. linux(centos7) nginx php mysql安装
  17. 你真的会Xilinx FPGA的复位吗?
  18. button上传替换file上传按钮,并显示图片缩略图,纯jsp操作
  19. android项目引入三方类库配置文件
  20. jzoj5848

热门文章

  1. 预备作业03:虚拟机安装及Linux操作系统练习
  2. 20155332 2006-2007-2 《Java程序设计》第2周学习总结
  3. 20155338 ch02 ch03课下作业
  4. 优步UBER司机全国各地最新奖励政策汇总(持续更新...)
  5. 【LG2257】YY的GCD
  6. 【转】 线段树完全版 ~by NotOnlySuccess
  7. RegExp,实现匹配合法邮箱(英文邮箱)的正则表达式
  8. 跨域发送HTTP请求详解
  9. 字典(dict)的反转
  10. 手撕一个 Galgame 神器——Shub-Niggurath Project