3
vector<string> watchedVideosByFriends(vector<vector<string>> &watchedVideos,4
vector<vector<int>> &friends, int id, int level) {5
vector<vector<int>> graph(watchedVideos.size());7
for (int i = 0; i != friends.size(); i++)8
for (auto &f : friends[i]) graph[f].push_back(i), graph[i].push_back(f);11
vector<int> vis(watchedVideos.size(), 0);17
if (tmp_level++ == level) {18
unordered_map<string, int> mp;24
for (auto &v : watchedVideos[t]) mp[v]++;26
set<pair<int, string>> st;27
for (auto &[s, n] : mp) st.insert({n, s});28
for (auto &it : st) ans.push_back(it.second);38
for (auto &x : graph[t])39
if (!vis[x]) q.push(x);