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