Submission #1249593

#TimeUsernameProblemLanguageResultExecution timeMemory
1249593FernandoJC07World Map (IOI25_worldmap)C++20
12 / 100
20 ms2628 KiB
//#include "worldmap" #include <vector> #include <queue> #include <functional> using namespace std; #define vi vector<int> #define vii vector<vector<int>> #define For(i, a, n) for(int i = a; i<n; ++i) #define pb push_back vii create_map(int N, int M, vi A, vi B){ if(N==1) return {{1}}; vii adj, mapa; vi vst; adj.resize(N+1); vst.resize(N+1, 0); For(i, 0, M) {adj[A[i]].pb(B[i]); adj[B[i]].pb(A[i]);} function<void(int)> dfs = [&](int a){ mapa.pb({a}); vi res; vst[a] = 1; for(int x: adj[a]){ res.pb(a); res.pb(x); } mapa.pb(res); mapa.pb({a}); for(int x: adj[a]){ if(vst[x]) continue; dfs(x); } }; For(i, 1, N+1) { if(!vst[i] && adj[i].size()) dfs(i); break; } int k = mapa.size(); For(i, 0, k){ int m = k-mapa[i].size(); while(m--){mapa[i].pb(mapa[i][0]);} } return mapa; }
#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...