2368. 受限條件下可到達節點的數目
題目鏈接:2368. 受限條件下可到達節點的數目
代碼如下:
//深度優先遍歷
//參考:https://leetcode.cn/problems/reachable-nodes-with-restrictions/solutions/2662538/shu-shang-dfspythonjavacgojsrust-by-endl-0r3a
class Solution {
public:vector<vector<int>> g;public:int dfs(int x,int fa){int count=1;for(int y:g[x]){if(y!=fa)count+=dfs(y,x);}return count;}int reachableNodes(int n, vector<vector<int>>& edges, vector<int>& restricted) {unordered_set<int> r(restricted.begin(),restricted.end());g.resize(n);for(auto& edge:edges){int x=edge[0],y=edge[1];if(!r.count(x)&&!r.count(y))// 都不受限才連邊{g[x].emplace_back(y);g[y].emplace_back(x);}}return dfs(0,-1);}
};