Submission #1250968

#TimeUsernameProblemLanguageResultExecution timeMemory
1250968alex0152World Map (IOI25_worldmap)C++20
12 / 100
33 ms4676 KiB
#include <bits/stdc++.h> using namespace std; vector<int>adj[41]; bitset<41>v,u; int order[81],cnt,poz,x,y; void dfs(int node) { v[node]=1; cnt++; order[cnt]=node; for(auto it : adj[node]) if(!v[it]) dfs(it); cnt++; order[cnt]=node; } vector<vector<int>> create_map(int n, int m,vector<int> a, vector<int> b) { vector<vector<int>>mat(4*n,vector<int>(4*n)); cnt=0; v.reset(); u.reset(); for(int i=0; i<m; ++i) { adj[a[i]].push_back(b[i]); adj[b[i]].push_back(a[i]); } dfs(1); x=-1; for(int i=1; i<=cnt; ++i) { x++; y=0; for(; y<n*4; ++y) mat[x][y]=order[i]; if(!u[order[i]]) { u[order[i]]=1; x++; y=0; poz=0; for(; y<n*4; ++y) { if(poz>=adj[order[i]].size() || y%2) mat[x][y]=order[i]; else mat[x][y]=adj[order[i]][poz],poz++; } y=0; x++; for(; y<n*4; ++y) mat[x][y]=order[i]; } } for(int i=x+1; i<n*4; ++i) for(int j=0; j<n*4; ++j) mat[i][j]=order[cnt]; for(int i=1; i<=n; ++i) adj[i].clear(); return mat; }
#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...