给定一个社交网络拓扑图,其中用户之间通过无向边连接。输入包含三个参数:N表示社交网络中的连接总数,M是需要计算影响力的用户编号,K是跳数范围。接下来有N行,每行两个整数,表示两个用户之间存在直接的社交连接。目标是计算用户M在K跳内能够接触到的不同用户的数量,称为该用户的影响力。输出结果为用户M在指定跳数范围内能够接触到的用户总数。
计算给定社交网络中某个用户在k跳范围内的影响力,也就是要找到所有距离m,k以内的能访问到的点,最短路问题,数据只有1e3跑一遍bfs(n^2),之后,枚举所有点,距离小于等于k的ans+=1,最后输出ans-1(除去本身)即可
社交网络可以表示成一张无向图:每个节点对应一位用户,每条边对应两名用户之间的直接社交连接。任意两名用户之间至多存在一条直接边。
对于某个指定用户,定义其影响力为:从该用户对应节点出发,经过不超过 K 跳的路径能够到达的所有其他用户的数量。这里直接相连视为 1 跳,间接连接按经过的边数累计跳数。请根据给定网络和目标用户,计算该用户的影响力。
约束条件
N 与跳数范围 K 均不小于 1,且不大于 1000。M 不小于 0,且小于 1000。X、Y 均不小于 0,且不大于 1000。开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册