제출 #1285541

#제출 시각아이디문제언어결과실행 시간메모리
1285541eri16세계 지도 (IOI25_worldmap)C++20
0 / 100
2 ms1604 KiB
#include <bits/stdc++.h> #include "worldmap.h" using namespace std; vector <int> VV; void dfs(vector<vector<int>>& v,int mx,int node,vector<int>& visited){ VV.push_back(node); int tt=0; for (int i=0; i<v[node].size(); i++){ if (visited[v[node][i]]==0){ tt++; visited[v[node][i]]=1; dfs(v,mx,v[node][i],visited); VV.push_back(node); } } } std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) { vector<vector<int>> v(N+1); vector<vector<int>> vt(N+1, vector<int>(N+1, 0)); for (int i=0; i<M; i++){ v[A[i]].push_back(B[i]); vt[A[i]][B[i]]=1; v[B[i]].push_back(A[i]); vt[B[i]][A[i]]=1; } if (N==1){ return vector<vector<int>>{{1}}; } vector<int> visited(N+1,0); visited[1]=0; dfs(v,N,1,visited); int ln=VV.size(); ln=2*N+VV.size(); vector <vector <int>> ans(ln, vector<int>(ln, 0)); vector <int> vvv(N+1,0); int k=0; for (int i=0; i<VV.size(); i++){ if (vvv[VV[i]]==1){ for (int j=0; j<ln; j++){ ans[k][j]=VV[i]; } k++; } else{ vvv[VV[i]]=1; for (int j=0; j<ln; j++){ ans[k][j]=VV[i]; } for (int j=0; j<ln; j++){ if (j%2==1 && j<2*N){ if (vt[VV[i]][j/2+1]==1){ ans[k+1][j]=j/2+1; } else{ ans[k+1][j]=VV[i]; } } else{ ans[k+1][j]=VV[i]; } } for (int j=0; j<ln; j++){ ans[k+2][j]=VV[i]; } k=k+3; } } return (ans); } /* int main() { int N = 3; // number of nodes int M = N - 1; // Build the path: A[i] = i+1, B[i] = i+2 vector<int> A(M), B(M); for (int i = 0; i < M; i++) { A[i] = i + 1; B[i] = i + 2; } try { auto ans = create_map(N, M, A, B); cout << "create_map ran successfully!\n"; cout << "Resulting 2D map (ans):\n"; for (auto &row : ans) { for (int x : row) cout << x << " "; cout << "\n"; } } catch (const exception &e) { cerr << "Exception: " << e.what() << "\n"; } catch (...) { cerr << "Unknown exception occurred!\n"; } return 0; } */
#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...