제출 #1284249

#제출 시각아이디문제언어결과실행 시간메모리
1284249muhammad-ahmadThe Ties That Guide Us (CEOI23_incursion)C++20
9 / 100
155 ms5360 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...