Codeforces 148D

考虑状态转移。。https://www.cnblogs.com/kuangbin/archive/2012/10/04/2711184.html
题意:原来袋子里有w只白鼠和b只黑鼠,龙和王妃轮流从袋子里抓老鼠,谁先抓到白色老鼠谁就赢
王妃每次抓一只老鼠,龙每次抓完一只老鼠之后会有一只老鼠跑出来。
王妃先抓,如果两个人都没有抓到白色老鼠则龙赢,问王妃赢的概率

思路:设dp[i][j]表示现在轮到王妃抓时有i只白鼠,j只黑鼠,王妃赢的概率

明显 dp[0][j]=0,0<=j<=b;因为没有白色老鼠了
dp[i][0]=1,1<=i<=w;因为都是白色老鼠,抓一次肯定赢了。
dp[i][j]可以转化成下列四种状态:
1、王妃抓到一只白鼠,则王妃赢了,概率为i/(i+j);
2、王妃抓到一只黑鼠,龙抓到一只白色,则王妃输了,概率为j/(i+j)*i/(i+j-1).
3、王妃抓到一只黑鼠,龙抓到一只黑鼠,跑出来一只黑鼠,则转移到dp[i][j-3],概率为j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2);
4、王妃抓到一只黑鼠,龙抓到一只黑鼠,跑出来一只白鼠,则转移到dp[i-1][j-2],概率为j/(i+j)*(j-1)/(i+j-1)*i/(i+j-2);

当然后面两种情况要保证合法,即第三种情况要至少3只黑鼠,第四种情况要至少2只白鼠

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <queue>
#include <algorithm>
using namespace std;
const int SZ = ;
double f[SZ][SZ];
//white->i->win black->j
int main()
{
int w, b;
scanf("%d %d", &w, &b);
for(int i = ; i <= w; i++) f[i][] = ;
for(double i = ; i <= w; i++)
for(double j = ; j <= b; j++)
{
int ii = (int)i, jj = (int)j;
f[ii][jj] += i / (i + j);//w
if(j >= ) f[ii][jj] += j/(i+j) * (j-)/(i+j-) * i/(i+j-) * f[ii-][jj-];//bb->w
if(j >= ) f[ii][jj] += j/(i+j) * (j-)/(i+j-) * (j-)/(i+j-) * f[ii][jj-];//bb->b
}
printf("%.9f\n", f[w][b]);
return ;
}

最新文章

  1. 【转】UML图与软件开发过程那点关系
  2. JavaBean,POJO,VO,DTO的区别和联系
  3. 反质数问题,求不大于n的最大反质数
  4. .NET/C#/Oracle数据库操作类
  5. [COJ0988]WZJ的数据结构(负十二)
  6. jsp-status 404错误的解决方法汇总
  7. windows 2012 服务器打开ping端口,开通远程连接
  8. http://www.oschina.net/translate/elasticsearch-getting-started?cmp
  9. rownum的使用-分页
  10. C语言系列之强制类型转换(一)
  11. Centos7中hadoop配置
  12. kubernets controller 和 CRD 具体组件分析
  13. 005.Ceph文件系统基础使用
  14. tomcat advanced (RUNNING)
  15. python的数据相关框架
  16. jQuery筛选总结
  17. 集成算法(chapter 7 - Hands on machine learning with scikit learn and tensorflow)
  18. python3 使用matplotlib画图出现中文乱码的情况
  19. java.util.logging
  20. java 抽象类 以及模块方法设计模式,接口

热门文章

  1. 关于HTTP请求中更改body中传递的参数方法
  2. Codechef WEASELSC
  3. J20170507-ts
  4. TP5之安全机制
  5. sql server编写一个语句脚本自动清空各表数据以初始化数据库
  6. adb相关
  7. poj 1182 食物链【带权并查集】
  8. 【CodeForces - 501B 】Misha and Changing Handles(map)
  9. UVA - 11082 Matrix Decompressing
  10. Hu矩