5426. 重新規(guī)劃路線
沒見過的dfs題型扒怖,以及做法
想清楚dir的作用
從上往下就是+1,從下往上就是0业稼。
push_back
為1
的是從a
到b
的出邊盗痒,也就是從g[u]
到ver
是出邊 ,方向是反的低散。
class Solution {
public:
vector<vector<pair<int,int>>> g;
int minReorder(int n, vector<vector<int>>& cs) {
g=vector<vector<pair<int,int>>>(n);
for(auto i:cs){
int a=i[0],b=i[1];
g[a].push_back({b,1}); // a->b
g[b].push_back({a,0});
}
return dfs(0,-1);
}
int dfs(int u,int father){
int res=0;
for(auto e:g[u]){
int ver=e.first,dir=e.second;
if(ver==father)continue;
res+=dfs(ver,u)+dir;
}
return res;
}
};