一看就是DP题(很水的一道紫题)

设\(dp[i][j][k]\)为留下\(i\)个\(r\)族的人,死去\(j\)个\(s\)族的人,死去\(k\)个\(p\)族的人的概率(跟其他的题解有点差别,但本质相同)。

#include <bits/stdc++.h>
using namespace std;
double dp[101][101][101];
int a, b, c;
int main() {
scanf("%d%d%d", &a, &b, &c);
for (int i = 1; i <= 100; i++)
for (int j = 1; j <= 100; j++) {
dp[i][j][0] = 1;
for (int k = 1; k <= 100; k++)
dp[i][j][k] += (i * j * dp[i][j - 1][k] + j * k * dp[i][j][k - 1] + k * i * dp[i - 1][j][k]) / (i * j + j * k + k * i);
}
printf("%.12lf %.12lf %.12lf\n", dp[a][b][c], dp[b][c][a], dp[c][a][b]);
return 0;
}

最新文章

  1. 【原创】记一次Project插件开发
  2. JS高程3.基本概念(6)函数
  3. angular前端开发环境
  4. 腾讯应用开发3006 : name lookup timed out 错误
  5. 兼容IE6及以上的导航栏子菜单栏滑过显示隐藏效果
  6. HDU4712 Hamming Distance (随机化)
  7. 邪恶的PLS
  8. [Swift]LeetCode86. 分隔链表 | Partition List
  9. java之equals 与 == 的区别
  10. oracle表空间自增
  11. jdk8 分隔字符串最新方法
  12. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
  13. 【xsy2304】哈 最短路
  14. MT【185】$\max$的表示
  15. 正确安全清空在线慢查询日志slow log的流程
  16. 十款不错的Hybrid App移动开发框架
  17. sqserver2008触发器
  18. 使用putty进行ssh tunnel远程内网机器
  19. mycat读写分离与主从切换【转】
  20. OneDrive开发入门

热门文章

  1. 【非官方方式】获取Disconf动态更新的配置文件的值
  2. 商城sku的选择功能--客户端
  3. 从可变长函数到legb
  4. C#跨线程访问(二)----thread参数、回调传参数
  5. 上线出现[x86_64, i386]
  6. 在 Keil uVision4 MDK下配置开发STM32F103Z完整教程
  7. unicode_stop - 撤销控制台unicode模式(例如, 回到8-bit模式).
  8. 笔记-Linux包管理命令
  9. linux7查看时间同步服务器的匹配源
  10. PHP之区域块链