Đời Cơ Bản Là Buồn
Junior Member
C++:
class Solution {
public:
vector<int> remainingMethods(int n, int k, vector<vector<int>>& invocations) {
vector<vector<int>> g(n);
for (auto&& e : invocations) {
int x = e[0];
int y = e[1];
g[x].push_back(y);
}
vector<int8_t> vis(n);
auto dfs = [&](this auto&& dfs, int x) -> void {
vis[x] = true;
for (auto y : g[x]) {
if (!vis[y]) {
dfs(y);
}
}
};
dfs(k);
vector<int> ans;
for (auto&& i : invocations) {
if (!vis[i[0]] && vis[i[1]]) {
ans.resize(n);
ranges::iota(ans, 0);
return ans;
}
}
for (int i = 0; i < n; i++) {
if (!vis[i]) {
ans.push_back(i);
}
}
return ans;
}
};


