AT_indeednow_2015_finala_e Page Rank

题目描述

在某家公司中,有 $ n $ 名员工。 这些员工的座位排成一条直线,从一端开始依次分配编号。 为了评估每位员工的能力,公司采用了以下方法。 每位员工都需提交一份他们认为优秀的同事名单。 将第 $ i $ 位员工提交的名单记作 $ N(i) $。 由于距离较远的员工们互相了解不多,因此 $ N(i) $ 之中不会包含与第 $ i $ 位员工相距超过 10 个座位的同事。 (对于 $ x \in N(i) $,满足 $ |i - x| < 10$。) 收齐所有的名单后,公司构建出一个以员工为顶点、以“认为优秀”的关系为有向边的图。 然后,利用该图计算每位员工的 Page Rank 值作为能力指标。 定义第 $ i $ 位员工的 Page Rank 为 $ PR(i) $,而认为第 $ i $ 位员工优秀的员工集合为 $ M(i) $。Page Rank 满足如下公式: $$ PR(i) = 0.1 + 0.9 \sum_{j \in M(i)} \frac{PR(j)}{|N(j)|} $$ 你的任务是为公司编写一个程序,求解每位员工的 Page Rank。

输入格式

输入内容如下: > $ n $ $ m $ > $ a_1 $ $ b_1 $ > $\vdots$ > $ a_m $ $ b_m $ - 第一行包含两个整数 $ n $ 和 $ m $,分别表示员工总数和“优秀”关系的数量($ 1 \leq n \leq 10,000 $,$ 1 \leq m \leq 10,000 $)。 - 接下来的 $ m $ 行中,每行包含两个整数 $ a_i $ 和 $ b_i $,表示第 $ a_i $ 名员工认为第 $ b_i $ 名员工优秀($ 1 \leq a_i, b_i \leq n $,且 $ |a_i - b_i| < 10 $)。

输出格式

输出每位员工的 Page Rank 值,每个值单独占一行。 如果相对误差或绝对误差不超过 $ 10^{-6} $,则结果被视为正确。

说明/提示

### 示例解释 2 在这个示例中,有 3 位员工。第 1 位员工认为第 2 和第 3 位员工都很优秀。第 2 位员工认为第 1 位员工优秀。第 3 位员工也认为第 1 位员工优秀。因此,各位员工的 Page Rank 应满足以下条件: $$ PR(1) = 0.1 + 0.9 \left( \frac{PR(2)}{1} + \frac{PR(3)}{1} \right) $$ $$ PR(2) = 0.1 + 0.9 \left( \frac{PR(1)}{2} \right) $$ $$ PR(3) = 0.1 + 0.9 \left( \frac{PR(1)}{2} \right) $$ **本翻译由 AI 自动生成**