Submission #1254217

#TimeUsernameProblemLanguageResultExecution timeMemory
1254217nickolasarapidisWorld Map (IOI25_worldmap)C++20
15 / 100
124 ms15832 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; vector<int> adj[45]; vector<int> et; vector<bool> visited(45); void dfs(int s, int e){ if(visited[s]) return; visited[s] = true; et.push_back(s); for(auto u : adj[s]){ if(u == e) continue; dfs(u, s); et.push_back(s); } } vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B){ for(int i = 0; i < 45; i++){ adj[i].clear(); } et.clear(); for(int i = 0; i < 45; i++){ visited[i] = false; } for(int i = 0; i < M; i++){ adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } dfs(1, -1); vector<vector<int>> ans(3*et.size(), vector<int>(3*et.size())); int cnt = 0; for(int i = 0; i < et.size(); i++){ for(int j = 0; j < 3*et.size(); j++){ ans[cnt][j] = et[i]; } for(int j = 0; j < 3*et.size(); j++){ ans[cnt + 1][j] = et[i]; } for(int j = 0; j < 3*et.size(); j++){ ans[cnt + 2][j] = et[i]; } for(int j = 0; j < 2*adj[et[i]].size(); j += 2){ ans[cnt + 1][j] = adj[et[i]][j/2]; } cnt += 3; } 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...