제출 #1286962

#제출 시각아이디문제언어결과실행 시간메모리
1286962kawhiet이주 (IOI25_migrations)C++20
10 / 100
30 ms1456 KiB
#include <bits/stdc++.h> #include "migrations.h" using namespace std; vector<int> g[10001]; vector<int> d; vector<bool> vis; void dfs(int u) { vis[u] = 1; for (auto v : g[u]) { if (!vis[v]) { d[v] = d[u] + 1; dfs(v); } } } pair<int, int> get(int N) { d.assign(N, 0); vis.assign(N, false); dfs(0); int u = max_element(d.begin(), d.end()) - d.begin(); d.assign(N, 0); vis.assign(N, false); dfs(u); int v = max_element(d.begin(), d.end()) - d.begin(); return {u, v}; } int send_message(int N, int i, int Pi) { g[i].push_back(Pi); g[Pi].push_back(i); if (i == N - 1) { auto [u, v] = get(N); if (u != 0) return u; else return v; } return 0; } pair<int, int> longest_path(std::vector<int> S) { int n = S.size(); return {0, S[n - 1]}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...