Submission #1252237

#TimeUsernameProblemLanguageResultExecution timeMemory
1252237EJIC_B_KEDAX세계 지도 (IOI25_worldmap)C++20
12 / 100
33 ms4680 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; using ll = long long; vector<vector<int>> create_map(int n, int m, vector<int> a, vector<int> b) { vector<vector<int>> g(n); 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]); } vector<vector<int>> ans(4 * n, vector<int>(4 * n, -1)); vector<int> used(n, 0); int cur = 0; auto dfs = [&](auto dfs, int s) -> void { used[s] = 1; for (int i = 0; i < 4 * n; i++) { ans[cur][i] = s + 1; } for (int i = 0; i < 2 * n; i++) { if (g[s].size() > i) { ans[cur + 1][2 * i] = g[s][i] + 1; } else { ans[cur + 1][2 * i] = s + 1; } ans[cur + 1][2 * i + 1] = s + 1; } for (int i = 0; i < 4 * n; i++) { ans[cur + 2][i] = s + 1; } cur += 3; for (int i : g[s]) { if (!used[i]) { dfs(dfs, i); } } for (int i = 0; i < 4 * n; i++) { ans[cur][i] = s + 1; } cur++; }; dfs(dfs, 0); for (; cur < 4 * n; cur++) { ans[cur] = ans[cur - 1]; } 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...