Contents
Problem
給你朋友間的關係,跟給定的訊息源頭,每一天都會傳給他們各自的朋友。求出 當日擴散最多的人數 和 那一天。
(e.g. 3 4 => 在第四天,A 把訊息傳給了 B, C, D 三人)
Solution
直接做 BFS 即可,途中記下每人第一次拿到訊息開始擴散的日期,也就是 BFS 的所在層。
並紀錄每個日期所擴散的人數 ++day[steps[now]]
,最後求最大值即可。
Code
1 |
|
給你朋友間的關係,跟給定的訊息源頭,每一天都會傳給他們各自的朋友。求出 當日擴散最多的人數 和 那一天。
(e.g. 3 4 => 在第四天,A 把訊息傳給了 B, C, D 三人)
直接做 BFS 即可,途中記下每人第一次拿到訊息開始擴散的日期,也就是 BFS 的所在層。
並紀錄每個日期所擴散的人數 ++day[steps[now]]
,最後求最大值即可。
1 |
|