核心内容摘要
光影盛宴,一眼万年:久久国产精品首页推荐,带你领略最新热播影视的极致魅力
题目描述奶牛们制造了一种随机臭弹目的是驱赶小猪。
小猪文明由 N(2≤N≤
个小猪城市组成这些城市编号为 1 到 N通过 M(1≤M≤44,
条双向道路连接具体由它们的不同端点 Aj 和 Bj 指定 (1≤Aj≤N;1≤Bj≤N)。
小猪城市 1 总是与至少一个其他城市相连。
臭弹在小猪城市 1 部署。
每小时包括第一小时它有 P/Q(1≤P≤1,000,000,1≤Q≤1,000,000;P≤Q) 的概率爆炸并污染它所在的城市。
如果它没有爆炸它会随机选择一条通往其他城市的道路并沿着它走直到到达一个新城市。
所有从一个城市出发的道路被选择的概率相同。
由于臭弹的随机性质奶牛们想知道哪些城市最有可能被污染。
给定小猪文明的地图以及臭弹在每个小时内爆炸的概率计算每个城市被污染的概率。
例如假设小猪文明由两个城市组成并且相连臭弹从城市 1 开始每次进入一个城市时有 21 的概率爆炸1--2我们有以下可能的臭弹路径最后一个城市是终点城市1: 12:
:
:
:
等等。
要找到臭弹最终停留在城市 1 的概率我们可以将上述每条路径的概率相加具体来说就是上述列表中每一个奇数编号的路径。
选择第 k 条路径的概率正好是 (1/
k ——臭弹必须在前 k−1 次不留在它的城市每次概率为 1−2121然后在最后一个城市停留概率为 21。
因此我们在城市 1 停留的概率由无穷级数 2∤k∑(21)k 表示。
当我们无限地求和这些项时最终得到的概率恰好是 32大约为
666666667。
这意味着在城市 2 停留的概率是 31大约为
333333333。
输入格式第 1 行四个用空格分隔的整数N,M,P,Q。
第 2 行到第 M1 行第 i1 行描述一条道路包含两个用空格分隔的整数Aj 和 Bj。
输出格式第 1 行到第 N 行在第 i 行输出城市 i 被摧毁的概率格式为浮点数。
绝对误差最多为 10−6 的答案将被接受注意您应该输出至少 6 位小数以满足此要求。
显示翻译题意翻译输入输出样例输入 #1复制2 1 1 2 1 2输出 #1复制
666666667
333333333说明/提示感谢 Alpha 贡献 Special Judge。
代码实现#includebits/stdc.h using namespace std; inline int read() { char chgetchar();int x0;bool f0; for(;!isdigit(ch);chgetchar())if(ch-)f1; for(;isdigit(ch);chgetchar())x(x