建卡盟网站建设 网站定制开发,苏州网站建设方式,广州网站建设定制价格,鄂州网吧什么时候恢复营业n 座城市#xff0c;从 0 到 n-1 编号#xff0c;其间共有 n-1 条路线。因此#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择#xff08;路线网形成一颗树#xff09;。去年#xff0c;交通运输部决定重新规划路线#xff0c;以改变交通拥堵的状况。 
路…n 座城市从 0 到 n-1 编号其间共有 n-1 条路线。因此要想在两座不同城市之间旅行只有唯一一条路线可供选择路线网形成一颗树。去年交通运输部决定重新规划路线以改变交通拥堵的状况。 
路线用 connections 表示其中 connections[i]  [a, b] 表示从城市 a 到 b 的一条有向路线。 
今年城市 0 将会举办一场大型比赛很多游客都想前往城市 0 。 
请你帮助重新规划路线方向使每个城市都可以访问城市 0 。返回需要变更方向的最小路线数。 
题目数据 保证 每个城市在重新规划路线方向后都能到达城市 0 。 示例 1 输入n  6, connections  [[0,1],[1,3],[2,3],[4,0],[4,5]]
输出3
解释更改以红色显示的路线的方向使每个城市都可以到达城市 0 。 
示例 2 输入n  5, connections  [[1,0],[1,2],[3,2],[3,4]]
输出2
解释更改以红色显示的路线的方向使每个城市都可以到达城市 0 。 
示例 3 
输入n  3, connections  [[1,0],[2,0]]
输出0思路一DFS 
c解法 
class Solution {
public:int DFS(int x,int parent,vectorvectorpairint,int e){int res  0;for (auto edge : e[x]) {if (edge.first  parent) {continue;}res  edge.second  DFS(edge.first, x, e);}return res; }int minReorder(int n, vectorvectorint connections) {vectorvectorpairint, int e(n);for (int i  0; i  connections.size(); i) { int from  connections[i][0]; int to  connections[i][1]; e[from].push_back(make_pair(to, 1)); e[to].push_back(make_pair(from, 0));}return DFS(0, -1, e); 
}};