jayati

Minimum Score of a Path Between Two Cities

Mar 22nd, 2023
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int dfs(int node,int& ans, vector<vector<pair<int, int>>>& gr, vector<int>& vis){
  4.         vis[node] = 1;
  5.         for(auto& [v, dis] : gr[node]){
  6.             ans = min(ans, dis);
  7.             if(vis[v]==0){
  8.                 vis[v] = 1;
  9.                 ans = min(ans, dfs(v, ans, gr, vis));
  10.             }
  11.         }
  12.         return ans;
  13.     }
  14.  
  15.     int minScore(int n, vector<vector<int>>& roads) {
  16.         int ans = INT_MAX;
  17.         vector<vector<pair<int, int>>> gr(n+1);
  18.         for(auto edge : roads){
  19.             gr[edge[0]].push_back({edge[1], edge[2]}); // u-> {v, dis}
  20.             gr[edge[1]].push_back({edge[0], edge[2]}); // v-> {u, dis}
  21.         }
  22.  
  23.         vector<int> vis(n+1, 0);
  24.         dfs(1, ans, gr, vis);
  25.  
  26.         return ans;
  27.     }
  28. };
Advertisement
Add Comment
Please, Sign In to add comment