Submission #1224028

#TimeUsernameProblemLanguageResultExecution timeMemory
1224028spetrThe Ties That Guide Us (CEOI23_incursion)C++20
9 / 100
169 ms8812 KiB
#include <vector> #include "incursion.h" #include <cstdio> #include <bits/stdc++.h> using namespace std; #define vl vector <long long> #define ll long long #define vll vector<vector<long long>> vll graf; vector<int> ans; set<ll> vis; void dfs(ll x, ll d){ ans[x-1] = d; vis.insert(x); for (ll i = 0; i < graf[x].size(); i++){ ll v = graf[x][i]; auto exist = vis.find(v); if (exist == vis.end()){ dfs(v, d+1); } } return; } std::vector<int> mark(std::vector<std::pair<int, int>> F, int safe) { vis.clear(); graf.clear(); ans.clear(); long long N = F.size()+1; ans.resize(N,0); for (ll i = 0; i < N+1; i++){graf.push_back({});} for (ll i = 0; i < F.size(); i++){ pair p = F[i]; graf[p.first].push_back(p.second); graf[p.second].push_back(p.first); } dfs(safe, 0); return ans; } void step(ll x, ll dist){ if (dist == 0){ return; } for (ll i = 0; i < graf[x].size(); i++){ ll v = graf[x][i]; auto exist = vis.find(v); if (exist == vis.end()){ ll p = visit(v); vis.insert(v); if (p < dist){ step(v, p); break; } else {p = visit(x);} } } return; } void locate(std::vector<std::pair<int, int>> F, int curr, int t) { vis.clear(); graf.clear(); long long N = F.size()+1; for (ll i = 0; i < N+1; i++){graf.push_back({});} for (ll i = 0; i < F.size(); i++){ pair p = F[i]; graf[p.first].push_back(p.second); graf[p.second].push_back(p.first); } vis.insert(curr); step(curr, t); 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...