제출 #1283451

#제출 시각아이디문제언어결과실행 시간메모리
1283451LuvidiWorld Map (IOI25_worldmap)C++20
15 / 100
43 ms5332 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define pii pair<int,int> vector<int> ad[41],st; set<pii> ss; bool vs[41]; void dfs(int v){ vs[v]=1; st.pb(v); for(int u:ad[v]){ if(vs[u]){ if(!ss.count({u,v})){ ss.insert({u,v}); ss.insert({v,u}); st.pb(u); st.pb(v); } }else{ ss.insert({u,v}); ss.insert({v,u}); dfs(u); st.pb(v); } } } std::vector<std::vector<int>> create_map(int n, int m, std::vector<int> a, std::vector<int> b) { for(int i=1;i<=n;i++){ ad[i].clear(); vs[i]=0; } ss.clear(); st.clear(); for(int i=0;i<m;i++){ ad[a[i]].pb(b[i]); ad[b[i]].pb(a[i]); } dfs(1); int sz=120; vector<vector<int>> ans(sz,vector<int>(sz,1)); vector<pii> od; for(int i=0;i<sz;i+=2){ if(i%4==0){ for(int j=0;j<sz;j++)od.pb({i,j}); if(i+1<sz)od.pb({i+1,sz-1}); }else{ for(int j=sz-1;j>-1;j--)od.pb({i,j}); if(i+1<sz)od.pb({i+1,0}); } } for(int i=0;i<st.size();i++){ ans[od[i].first][od[i].second]=st[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...