Submission #1255468

#TimeUsernameProblemLanguageResultExecution timeMemory
1255468AvianshWorld Map (IOI25_worldmap)C++20
72 / 100
76 ms9540 KiB
#include "worldmap.h" #include <bits/stdc++.h> using namespace std; void dfs(int st, vector<int>g[], int p, bool vis[], int &ind, vector<vector<int>>&ans){ //first handle this node int n = ans.size(); vis[st]=1; for(int i = 0;i<n;i++){ ans[ind][i]=st; } ind++; for(int i = 0;i<n;i++){ ans[ind][i]=st; } ind++; for(int i = 0;i<n;i++){ ans[ind][i]=st; } ind++; int temp = 0; for(int i : g[st]){ ans[ind-2][temp]=i; temp+=2; } for(int i : g[st]){ if(vis[i]){ continue; } dfs(i,g,st,vis,ind,ans); } if(p!=-1){ for(int i = 0;i<n;i++){ ans[ind][i]=p; } ind++; } } vector<vector<int>> create_map(int n, int m, vector<int> A, vector<int> B) { vector<int>g[n]; for(int i = 0;i<m;i++){ A[i]--; B[i]--; g[A[i]].push_back(B[i]); g[B[i]].push_back(A[i]); } vector<vector<int>>ans(4*n-1,vector<int>(4*n-1,-1)); bool vis[n]; fill(vis,vis+n,0); int ind = 0; dfs(0,g,-1,vis,ind,ans); for(int i = 0;i<4*n-1;i++){ for(int j = 0;j<4*n-1;j++){ ans[i][j]++; } } 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...