Submission #1293302

#TimeUsernameProblemLanguageResultExecution timeMemory
1293302tschav_World Map (IOI25_worldmap)C++20
0 / 100
2 ms576 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> create_map(int n, int m, vector<int> A, vector<int> B) { vector<vector<int>> adj; adj.resize(n+1,vector<int>{}); for(int i = 0; i < m; ++i) { adj[A[i]].emplace_back(B[i]); adj[B[i]].emplace_back(A[i]); } if(m == 0){ return vector<vector<int>>{vector<int>{1}}; } if(n <= 15) { vector<int> row; vector<bool> vis(n+1,false); auto dfs = [&](int ind, auto &&dfs) -> void { vis[ind] = true; for(auto &u : adj[ind]) { if(vis[u]) continue; row.emplace_back(ind); row.emplace_back(u); } if(row.back() != ind) row.emplace_back(ind); for(auto &u : adj[ind]) { if(vis[u]) continue; dfs(u, dfs); } }; int sz = row.size(); vector<vector<int>> ans; for(int i = 0; i < sz; ++i){ ans.push_back(row); } return ans; } if(m == n-1) { vector<int> row; auto dfs = [&](int ind, int par, auto &&dfs) -> void { for(auto &u : adj[ind]) { if(u == par) continue; row.emplace_back(ind); dfs(u,ind,dfs); } if(ind != 1) row.push_back(ind); }; dfs(1, -1, dfs); int sz = row.size(); vector<vector<int>> ans; for(int i = 0; i < sz; ++i){ ans.push_back(row); } return ans; } vector<vector<int>> ans(2*n,vector<int>(2*n,1)); for(int i = 0; i < 2 * n; ++i) { if(i & 1) { int u = (i+1)/2; queue<int> Q; for(auto &v : adj[u]) Q.push(v); for(int j = 0; j < 2 * n; ++j) { if(j & 1) { if(Q.empty()) { ans[i][j] = u; continue; } ans[i][j] = Q.front(); Q.pop(); } else { ans[i][j] = u; } } } else { for(int j = 0; j < 2 * n; ++j) { ans[i][j] = 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...