编程题
### 问题描述
在一个社交网络平台中,有 $n$ 个用户以及他们之间的关注关系,形成了一个有向连通图。在这个有向图中,节点代表用户,有向边代表关注关系。在这个社交网络中,一个用户的“社交影响力”被定义为他或她的出度和入度之和。此外,每个用户还有一个“紧密中心性”得分,定义为该用户到其他所有用户的最短路径长度之倒数的平均值。如果某个用户无法到达其他用户,则这些无法到达的路径的长度之倒数计为 $ 0$ 。
您的任务是编写一个算法来计算每个用户的社交影响力和紧密中心性。并按照社交影响力和紧密中心性的加权和(比如,$权重=0.7×社交影响力+0.3×紧密中心性$ )从高到低进行排序,并输出排名。所有分数向上取整。
### 输入格式
第一行包含一个整数 $n$ ,表示用户的数量。
接下来的 $m$ 行,每行包含两个整数 $u$ 和 $v$ ,表示用户 $u$ 关注了用户 $v$ 。
### 输出格式
输出共 $n$ 行,每行包含两个数字:用户的 $ ID$ 和他们的加权分数(向上取整)。
输出应该根据加权分数从高到低排序。如果两个用户的加权分数相同,则按照用户 $ID$ 的升序排列。
### 样例输入
```
4 4
1 2
2 3
3 4
4 1
```
### 样例输出
```
1 2
2 2
3 2
4 2
```
### 评测数据范围
$1 \leq n \leq 10^2$,$1 \leq m \leq 10^3$