Submission #1312051

#TimeUsernameProblemLanguageResultExecution timeMemory
1312051maya_sFun Tour (APIO20_fun)C++20
26 / 100
54 ms15660 KiB
#include "fun.h" #include <bits/stdc++.h> using namespace std; typedef int ll; typedef pair<ll, ll> pll; pll farthest(ll n, ll p, ll d, vector<vector<ll>> &g, set<ll> &s){ pll ans = {d, n}; for(ll i : g[n]) if(i != p && s.find(i) != s.end()) ans = max(ans, farthest(i, n, d+1, g, s)); return ans; } vector<int> createFunTour(int n, int q){ vector<vector<ll>> g(n); for(ll i = 0; i < n; i++) for(ll j = i+1; j < n; j++) if(hoursRequired(i, j) == 1) g[i].push_back(j), g[j].push_back(i); set<ll> s; for(ll i = 0; i < n; i++) s.insert(i); auto[d, node] = farthest(0, -1, 0, g, s); vector<ll> ans; do{ s.erase(node); ans.push_back(node); auto[d, x] = farthest(node, -1, 0, g, s); node = x; } while(s.size()); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...