1466. 重新规划路线

题目描述:

在这里插入图片描述

主要思路:

将所有有向边抽象为无向边,将原有的方向权重置为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;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_54385104/article/details/132150531
今日推荐