Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ll Prim (int x) {
- //PII = pair<ll, ll>
- priority_queue <PII, vector<PII>, greater<PII> > Q;
- ll total = 0;
- PII p;
- Q.push({0, x});
- while (!Q.empty()) {
- p = Q.top();
- Q.pop();
- x = p.S;
- if (vis[x] == true) continue;
- total += p.first;
- vis[x] = true;
- for (ll i = 0; i < adj[x].size(); i++) {
- ll y = adj[x][i].S;
- if (vis[y] == false)
- Q.push(adj[x][i]);
- }
- }
- return total;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement