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);}
};