Submission #747919

#TimeUsernameProblemLanguageResultExecution timeMemory
747919saayan007City Mapping (NOI18_citymapping)C++17
0 / 100
1 ms724 KiB
#include "bits/stdc++.h" #include "citymapping.h" using namespace std; using ll = long long; #define eb emplace_back #define nl endl void find_roads(int N, int Q, int A[], int B[], int W[]) { deque<int> path; vector<int> dist[N]; for(int i = 2; i <= N; ++i) { int d = get_distance(1, i); dist[d].eb(i); } int p = 1; for(int i = 1; i < N; ++i) { if((int) dist[i].size() < 2) { p = i; break; } } path.eb(1); for(int i = 1; i < p; ++i) { int a = dist[i][0], b = dist[i][1]; if(get_distance(a, path.back()) == 1) swap(a, b); path.emplace_front(a); path.eb(b); } int a = dist[p][0]; if(get_distance(a, path.back()) == 1) for(int i = p; i < N && (int)dist[i].size() != 0; ++i) path.eb(dist[i][0]); else for(int i = p; i < N && (int)dist[i].size() != 0; ++i) path.emplace_front(dist[i][0]); for(int i = 0; i < N; ++i) { A[i] = path[i], B[i] = path[i + 1], W[i] = 1; } return; }
#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...