2016_1_13(2)
游乐场
(amusement.cpp/c/pas)
【时间限制】1s
【问题描述】
清儿进入了一个游乐场,这个游乐园有N个项目和N条不同双向道路,任意两个项目皆可以互相到达。
清儿从一个随机的项目开始玩起。每当她玩完一个项目后,她会等可能地找附近一个项目继续玩耍。所以,她也不知道自己最后会停留在哪个项目上。
还有,清儿不喜欢已经玩过的项目,连看都不想再看一眼,所以她不会再经过曾经玩过的项目。
现在她希望你能告诉她最有可能停留在哪5个项目上,并且,你只需要告诉她停留在这5个项目上的可能性的和就好啦
【输入】
输入文件名为amusement.in
输入第一行是n,表示游乐园的项目数
接下来n行,每行2个数,描述了一条双向道路的起点和重点
显然,游乐场有一些项目形成了环,输入数据保证环上的项目数在3到30之间
【输出】
输出文件名为amusement.out
输出一个实数,表示5个最有可能最后停留的项目的可能性的和。结果保留5位小数。
【输入输出样例】
10
5 8
8 3
3 1
1 5
2 1
10 8
7 8
6 7
4 10
9 10
0.91250
【数据说明】
对于20%的数据,有1≤n≤10
对于40%的数据,有1≤n≤500
对于100%的数据,有1≤n≤100000
今天就是这道题坑害了我,原本以为可以一发写过的,中间过程真是要写哭我。我还是太naive了。
所以这道题真是代码能力++ 的题,考场上面YJQ做出来了好强啊。
思路就是有点像树形DP,当做没有环的搞,有环的地方在搞搞。
不想写了,调其它题吧。