#include <bits/stdc++.h>
using namespace std;
#include "citymapping.h"
const int MAXN = 1000 + 10;
void find_roads(int N, int Q, int A[], int B[], int W[]) {
using TP = tuple<long long, int, int>;
priority_queue<TP, vector<TP>, greater<>> pq;
set<int> mk{1};
auto addEdge = [&](int x) {
for (int i = 1; i <= N; ++i) {
if (mk.count(i)) continue;
pq.push({get_distance(x, i), x, i});
}
};
addEdge(1);
int num = 0;
while (pq.size()) {
auto [w, a, b] = pq.top(); pq.pop();
if (mk.count(b)) continue;
mk.insert(b);
A[num] = a;
B[num] = b;
W[num] = w;
num += 1;
addEdge(b);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |