Submission #1251445

#TimeUsernameProblemLanguageResultExecution timeMemory
1251445InternetPerson10World Map (IOI25_worldmap)C++20
29 / 100
24 ms3144 KiB
#include "worldmap.h" #include <bits/stdc++.h> // 1 // 2 3 // 4 5 // // // 111111111 // 222213333 // 111134435 using namespace std; set<int> vis; set<pair<int, int>> pair_vis; vector<int> path; vector<vector<int>> adj; void dfs(int x, int par = -1) { pair_vis.insert({min(x, par), max(x, par)}); path.push_back(x); if(vis.count(x)) return; vis.insert(x); for(int ch : adj[x]) { if(ch == par) continue; if(pair_vis.count({min(ch, x), max(ch, x)})) continue; dfs(ch, x); path.push_back(x); } } vector<vector<int>> create_map(int N, int M, std::vector<int> a, std::vector<int> b) { vis.clear(); pair_vis.clear(); vector<int>().swap(path); vector<vector<int>>().swap(adj); adj.resize(N+1); for(int i = 0; i < M; i++) { adj[a[i]].push_back(b[i]); adj[b[i]].push_back(a[i]); } dfs(1); vector<vector<int>> ans(path.size()); for(int i = 0; i < path.size(); i++) ans[i] = vector<int>(path.size(), path[i]); 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...