1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
int (vector<vector<int>>& times, int N, int K) { vector<int> nodes(N+1, INT_MAX); nodes[K] = 0; for(int i = 0; i < N; i++){ for(vector<int> t : times){ int u = t[0]; int v = t[1]; int w = t[2]; if(nodes[u] != INT_MAX && nodes[u] + w < nodes[v]) nodes[v] = nodes[u] + w; } } int res = INT_MIN; for(int i = 1; i <= N; i++){ res = max(res, nodes[i]); } return res == INT_MAX ? -1 : res; }
|
近期评论