Untitled

 avatar
unknown
plain_text
a year ago
788 B
4
Indexable
class Solution {
public:
    // vecctor<bool> visited(50002, false);
    bool visited[50002];
    int dfs(int node, vector<vector<pair<int,int>>> &adj){
        visited[node] = true;
        int reorderCount = 0;
        for(auto [neigh, direction]: adj[node]){
            if(!visited[neigh]){
                reorderCount += direction;
                reorderCount += dfs(neigh, adj);
            }
        }
        return reorderCount;
    }
    int minReorder(int n, vector<vector<int>>& connections) {
        vector<vector<pair<int,int>>> graph(n);
        for(auto conn: connections){
            graph[conn[0]].push_back({conn[1], 1}); // original direction
            graph[conn[1]].push_back({conn[0], 0}); // reverse direction
        }
        return dfs(0, graph);
    }
};
Editor is loading...
Leave a Comment