#indeednow2015finalae. [indeednow_2015_finala_e]Page Rank
[indeednow_2015_finala_e]Page Rank
问题文
某个公司有 名员工。
该公司的座位是一条直线排列的,并且员工编号从这条直线的一端开始分配。
为了评估员工的能力,该公司使用以下方法:
首先,每个员工都要向公司提交他们认为优秀的员工名单。
第 个员工提交的名单记为 。
由于我们对远处的员工不太了解,所以 中不包括离座位超过 10 个位置的员工。
(对于任意 ,满足 )
收集完所有人的名单后,构建一个以员工为顶点、认为他们优秀的关系为有向边的图。
然后,在该图上计算 Page Rank,作为员工的能力指标。
假设第 个员工的 Page Rank 是 ,认为第 个员工优秀的员工集合为 ,那么 Page Rank 满足以下条件:
你的任务是为这家公司编写一个计算 Page Rank 的程序。
输入
输入以以下格式给出。
- 第 1 行包含两个整数 和 ,分别表示员工数量 () 和员工之间认为对方优秀的关系数量 ()。
- 接下来的 行,每行包含两个整数 和 (),表示第 个员工认为第 个员工优秀。
输出
以一行输出每个员工的 Page Rank 值。
如果相对误差或绝对误差小于 ,则被视为正确结果。
示例1
3 6
1 2
1 3
2 1
2 3
3 1
3 2
输出示例1
1
1
1
示例2
3 4
1 2
1 3
2 1
3 1
输出示例2
1.473684210526316
0.7631578947368423
0.7631578947368423
在这个例子中,有 3 名员工。
第 1 名员工认为第 2 名和第 3 名员工都是优秀的。
第 2 名员工认为第 1 名员工是优秀的。
第 3 名员工认为第 1 名员工是优秀的。
因此,每个员工的 Page Rank 都满足以下条件:
$PR(1) = 0.1 + 0.9 (\\frac{PR(2)}{1} + \\frac{PR(3)}{1})$