Skip to content

Commit 34ddeb3

Browse files
authored
Update 882.Reachable-Nodes-In-Subdivided-Graph_v2.cpp
1 parent 86942d5 commit 34ddeb3

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed
Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,52 @@
1-
typedef pair<int,int> PII; //{dist, nodeIdx}
1+
typedef pair<int,int> PII;
22

33
class Solution {
4-
4+
int dist[3000];
5+
int resolved[3000];
56
public:
67
int reachableNodes(vector<vector<int>>& edges, int maxMoves, int n)
78
{
8-
vector<PII> adj[3000];
9-
for (auto e:edges)
9+
vector<PII> adj[3000]; // {nextNode, weight}
10+
for (auto e: edges)
1011
{
1112
adj[e[0]].push_back({e[1], e[2]+1});
1213
adj[e[1]].push_back({e[0], e[2]+1});
1314
}
1415

15-
priority_queue<PII, vector<PII>, greater<>>pq;
16-
pq.push({0, 0});
17-
18-
vector<int>dist(3000, INT_MAX/2);
19-
vector<int>resolved(3000);
16+
priority_queue<PII, vector<PII>, greater<>>pq; // {dist, nodeIdx}
17+
pq.push({0,0});
2018

2119
while (!pq.empty())
2220
{
2321
auto [d, cur] = pq.top();
2422
pq.pop();
25-
26-
if (resolved[cur]==1)
27-
continue;
23+
if (resolved[cur]) continue;
2824
resolved[cur] = 1;
2925
dist[cur] = d;
30-
31-
for (auto [next, len]: adj[cur])
26+
27+
for (auto [next, weight] : adj[cur])
3228
{
33-
if (resolved[next]==1) continue;
34-
if (maxMoves >= d+len)
35-
pq.push({d+len, next});
36-
}
29+
if (resolved[next]) continue;
30+
if (d+weight <= maxMoves)
31+
pq.push({d+weight, next});
32+
}
3733
}
3834

3935
int count = 0;
4036
for (auto e: edges)
4137
{
42-
int a = e[0], b = e[1], cnt = e[2];
38+
int a = e[0], b = e[1];
4339
int sum = 0;
44-
if (resolved[a]) sum += maxMoves-dist[a];
45-
if (resolved[b]) sum += maxMoves-dist[b];
46-
count += min(sum, cnt);
40+
if (resolved[a]) sum += maxMoves - dist[a];
41+
if (resolved[b]) sum += maxMoves - dist[b];
42+
count += min(sum, e[2]);
4743
}
4844

4945
for (int i=0; i<n; i++)
5046
if (resolved[i])
51-
count += 1;
47+
count++;
5248

5349
return count;
50+
5451
}
5552
};

0 commit comments

Comments
 (0)