Submission #1253315

#TimeUsernameProblemLanguageResultExecution timeMemory
1253315GabpWorld Map (IOI25_worldmap)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; vector<vector<int>> create_map(int n, int m, vector<int> a, vector<int> b) { if (n == 1) { return {{1}}; } vector<vector<int>> g(n); vector<vector<bool>> done(n, vector<bool>(n, true)); for (int i = 0; i < m; i++) { a[i]--; b[i]--; g[a[i]].push_back(b[i]); g[b[i]].push_back(a[i]); adj[a[i]][b[i]] = adj[b[i]][a[i]] = false; } vector<bool> vis(n, false); vector<int> order; auto dfs = [&](auto self, int root) -> void { vis[root] = true; order.push_back(root); for (auto v: g[root]) { if (vis[v]) continue; self(self, v); done[root][v] = done[v][root] = true; order.push_back(root); } }; dfs(dfs, 0); int k = order.size(); vector<vector<int>> ans; for (int i = 0; i < order.size(); i++) { bool need = false; int id = order[i]; for (auto v: g[id]) { if (!done[v][id]) need = true; } if (need) { if (i) ans.push_back(vector<int>(1, id)); ans.push_back(vector<int>()); for (auto v: g[id]) { if (done[v][id]) continue; if (!ans.back().empty()) ans.back().push_back(id); ans.back().push_back(v); done[v][id] = done[id][v] = true; } k = max(k, (int)ans.back().size()); } if (i + 1 < order.size()) { ans.push_back(vector<int>(1, id)); } } k = max(k, (int)ans.size()); if (ans.size() < k) { int id; if (ans.back().size() == 1) id = ans.back()[0]; else id = ans.back()[1]; while (ans.size() < k) { ans.push_back(vector<int>(k, id)); } } for (int i = 0; i < k; i++) { int id; if (ans[i].size() == 1) id = ans[i][0]; else id = ans[i][1]; while (ans[i].size() < k) ans[i].push_back(id); for (int j = 0; j < k; j++) ans[i][j]++; } return ans; }

Compilation message (stderr)

worldmap.cpp: In function 'std::vector<std::vector<int> > create_map(int, int, std::vector<int>, std::vector<int>)':
worldmap.cpp:15:5: error: 'adj' was not declared in this scope
   15 |     adj[a[i]][b[i]] = adj[b[i]][a[i]] = false;
      |     ^~~