Submission #1250261

#TimeUsernameProblemLanguageResultExecution timeMemory
1250261jj_masterWorld Map (IOI25_worldmap)C++20
58 / 100
178 ms20024 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; #define vi vector<int> #define vvi vector<vector<int>> void dfs(int u, vector<bool> &vis, vvi &adj, vi &tour) { vis[u] = true; tour.push_back(u); for (int v : adj[u]) { if (vis[v]) continue; dfs(v, vis, adj, tour); tour.push_back(u); } } vvi create_map(int n, int m, vi a, vi b) { vvi adj(n+1, vi()); for (int i = 0; i < m; i++) adj[a[i]].push_back(b[i]), adj[b[i]].push_back(a[i]); vector<bool> vis(n+1, false); vi tour; dfs(1, vis, adj,tour); int K = 3*tour.size(); vvi ans(K, vi(K, 1)); for (int i = 0; i < K; i++) { for (int j = 0; j < K; j++) { ans[i][j] = tour[j / 3]; } } set<int> seen; for (int i = 1; i < K; i += 3) { if (seen.count(ans[0][i])) continue; seen.insert(ans[0][i]); int el = ans[0][i]; int cn = 0; for (int j = 1; j < K; j += 2) { if (cn >= adj[el].size()) break; ans[j][i] = adj[el][cn++]; } } 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...