Submission #1285845

#TimeUsernameProblemLanguageResultExecution timeMemory
1285845kawhietWorld Map (IOI25_worldmap)C++20
0 / 100
1123 ms1051180 KiB
#include <bits/stdc++.h> #include "worldmap.h" using namespace std; vector<bool> vis; vector<int> par, k; vector<vector<int>> g; void dfs(int u) { vis[u] = 1; k.push_back(u); for (auto v : g[u]) { if (!vis[v]) { par[v] = u; dfs(v); } } } vector<vector<int>> create_map(int n, int m, vector<int> a, vector<int> b) { g.resize(n + 1); vis.resize(n + 1); par.resize(n + 1, -1); for (int i = 0; i < m; i++) { g[a[i]].push_back(b[i]); g[b[i]].push_back(a[i]); } dfs(1); cout << par[3] << endl; vector<int> res = {1}; for (int i = 1; i < n; i++) { int u = res.back(), v = k[i]; if (par[v] != u) { u = par[u]; res.push_back(u); while (u != par[v]) { u = par[u]; res.push_back(u); } } res.push_back(v); } int N = res.size(); vector<vector<int>> ans(N, vector<int>(N)); for (int i = 0; i < N; i++) { fill(ans[i].begin(), ans[i].end(), res[i]); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...