제출 #1256485

#제출 시각아이디문제언어결과실행 시간메모리
1256485garam1732World Map (IOI25_worldmap)C++20
86 / 100
44 ms5704 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define bl ' ' #define endl '\n' #define all(v) (v).begin(), (v).end() #define comp(v) (v).erase(unique(all(v)), (v).end()) #define lbd(v,x) lower_bound(all(v), (x))-(v).begin() #define ubd(v,x) upper_bound(all(v), (x))-(v).begin() typedef long long ll; typedef pair<int, int> pi; typedef pair<pi, int> pii; typedef pair<int, pi> ipi; typedef pair<pi, pi> pipi; typedef pair<ll, ll> pll; const int MAXN = 100100*5; const ll MOD = 1e9+7; const ll INF = 1e9+10; vector<int> adj[44]; vector<int> v; bool vst[44]; void dfs(int here) { v.push_back(here); vst[here]=1; for(int there:adj[here]) { if(vst[there]) continue; dfs(there); v.push_back(here); } } bool chk[44]; std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) { std::vector<std::vector<int>> ans(3 * N, std::vector<int>(3 * N, 0)); for(int i=1;i<=N;i++) adj[i].clear(), vst[i]=chk[i]=0; for(int i=0;i<M;i++) { adj[A[i]].push_back(B[i]); adj[B[i]].push_back(A[i]); } v.clear(); dfs(1); assert(v.size() <= 2*N); for(int i=0, y=0, u=0; i<v.size(); i++) { if(y>0) for(int x=u^1; x<3*N; x+=2) ans[x][y-1] = v[i]; for(int x=u; x<3*N; x+=2) ans[x][y] = v[i]; if(!chk[v[i]]) { chk[v[i]] = 1; for(int x=u^1; x<3*N; x+=2) ans[x][y+1] = v[i]; for(int x=u^1, t=0; x<3*N; x+=2) { if(t < adj[v[i]].size()) ans[x][y] = adj[v[i]][t++]; else ans[x][y] = v[i]; } y += 2; u^=1; } else y++; } for(int i=0;i<3*N;i++) for(int x=0;x<3*N;x++) if(!ans[x][i]) ans[x][i]=v.back(); 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...