题目描述:
主要思路:
将所有有向边抽象为无向边,将原有的方向权重置为1,其余置为0。
从0开始遍历所有城市,ans=权重和。
class Solution {
public:vector<vector<int>> a,w;int ans=0;bool book[500010];void dfs(int x){book[x]=1;for(int i=0;i<a[x].size();++i){int nex=a[x][i],ww=w[x][i];if(!book[nex]){ans+=ww;dfs(nex);}}}int minReorder(int n, vector<vector<int>>& connections) {a.resize(n);w.resize(n);for(auto x:connections){a[x[0]].push_back(x[1]);w[x[0]].push_back(1);a[x[1]].push_back(x[0]);w[x[1]].push_back(0);}dfs(0);return ans;}
};