Submission #747941

#TimeUsernameProblemLanguageResultExecution timeMemory
747941saayan007City 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 + 1]; 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); } for(int i = p; i <= N; ++i) { if((int) dist[i].size() == 0) continue; int a = dist[i][0]; if(get_distance(a, path.back()) == 1) path.eb(a); else path.emplace_front(a); } /* 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...