Submission #408378

#TimeUsernameProblemLanguageResultExecution timeMemory
408378muhammad_hokimiyon기지국 (IOI20_stations)C++14
0 / 100
3156 ms2097156 KiB
#include "stations.h" #include <vector> #include<bits/stdc++.h> using namespace std; const int N = 1e3 + 7; int d[N]; vector<int> g[N]; void dfs(int x, int p) { for(auto y : g[x]){ if(y == p)continue; d[y] = d[x] + 1; dfs(y, x); } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); for(int i = 0; i < n - 1; i++){ int x = u[i], y = v[i]; g[x].push_back(y); g[y].push_back(x); } int st = 0; for(int i = 1; i < n; i++){ if((int)g[i].size() < (int)g[st].size()){ st = i; } } dfs(st, st); for(int i = 0; i < n; i++){ labels[i] = d[i]; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { for(auto x : c){ if(s < t && x < s)return x; if(s > t && x > s)return x; } assert(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...