Submission #1252669

#TimeUsernameProblemLanguageResultExecution timeMemory
1252669ollelapWorld Map (IOI25_worldmap)C++20
0 / 100
1060 ms2028168 KiB
using namespace std; #include <bits/stdc++.h> typedef long long ll; #define rep(i,a,b) for(int i = a; i < b; i++) #include "worldmap.h" vector<vector<int>> ans; vector<vector<int>> g; int nnn = 0; pair<int,int> put(int x, int p, int i, int j) { int i2 = i+1, j2 = j+1; for (auto c : g[x]) if (c != p) { auto [a, b] = put(c, x, i2, j2); i2 = a+1; j2 = max(j2, b+1); } rep(I,i,i2) rep(J,j,j2) if (ans[I][J] == -1) ans[I][J] = x; return {i2, j2}; } std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) { int n = N, m = M; nnn = 240; ans = vector<vector<int>>(nnn, vector<int>(nnn, -1)); g.resize(n); rep(i,0,m) { A[i]--;B[i]--; g[A[i]].push_back(B[i]); g[B[i]].push_back(A[i]); } put(0, -1, 0, 0); rep(i,0,nnn) rep(j,0,nnn) if (ans[i][j] == -1) ans[i][j] = 0; rep(i,0,nnn) rep(j,0,nnn) 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...