@@ -15,12 +15,12 @@ class Solution {
15
15
unordered_map<int , unordered_map<int , int >> best;
16
16
using T = tuple<int , int , int >;
17
17
priority_queue<T, vector<T>, greater<T>> min_heap;
18
- min_heap.emplace (0 , K + 1 , src );
18
+ min_heap.emplace (0 , src, K + 1 );
19
19
while (!min_heap.empty ()) {
20
- int result, k, u ;
21
- tie (result, k, u ) = min_heap.top (); min_heap.pop ();
20
+ int result, u, k ;
21
+ tie (result, u, k ) = min_heap.top (); min_heap.pop ();
22
22
if (k < 0 ||
23
- (best.count (k ) && best[k ].count (u ) && best[k][u ] < result)) {
23
+ (best.count (u ) && best[u ].count (k ) && best[u][k ] < result)) {
24
24
continue ;
25
25
}
26
26
if (u == dst) {
@@ -29,11 +29,11 @@ class Solution {
29
29
for (const auto & kvp : adj[u]) {
30
30
int v, w;
31
31
tie (v, w) = kvp;
32
- if (!best.count (k - 1 ) ||
33
- !best[k - 1 ]. count (v ) ||
34
- result + w < best[k - 1 ][v ]) {
35
- best[k - 1 ][v ] = result + w;
36
- min_heap.emplace (result + w, k - 1 , v );
32
+ if (!best.count (v ) ||
33
+ !best[v]. count ( k - 1 ) ||
34
+ result + w < best[v][ k - 1 ]) {
35
+ best[v][ k - 1 ] = result + w;
36
+ min_heap.emplace (result + w, v, k - 1 );
37
37
}
38
38
}
39
39
}
0 commit comments