#include <bits/stdc++.h>
#include "incursion.h"
using namespace std;
const int NN = 5e4;
vector<int> adj[NN];
int dist[NN];
void dfs(int u, int p){
dist[u] = dist[p] + 1;
for (auto i : adj[u]){
if (i != p) dfs(i, u);
}
}
vector<int> mark(vector<pair<int, int>> F, int safe){
int n = F.size() + 1;
for (auto [u, v] : F){
adj[u].push_back(v);
adj[v].push_back(u);
}
dist[0] = -1;
dfs(safe, 0);
vector<int> ans;
for (int i = 1; i <= n; i++){
ans.push_back(dist[i]);
}
return ans;
}
void locate(vector<pair<int, int>> F, int curr, int t) {
int n = F.size() + 1;
for (auto [u, v] : F){
adj[u].push_back(v);
adj[v].push_back(u);
}
int lst = 0;
while (t != 0){
int tans = 0, temp = 0;
for (auto i : adj[curr]){
if (i == lst) continue;
int temp1 = visit(i);
if (temp1 < t){
lst = curr;
curr = i;
t = temp1;
break;
}
else {
visit(curr);
}
}
}
return;
}
| # | 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... |