Submission #408414

#TimeUsernameProblemLanguageResultExecution timeMemory
408414muhammad_hokimiyonStations (IOI20_stations)C++14
0 / 100
1035 ms556 KiB
#include "stations.h" #include <vector> #include<bits/stdc++.h> using namespace std; const int N = 1e3 + 7; std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); vector<int> g[n + 7]; 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; } } queue<int> q; q.push(st); vector<int> d(n + 7, 1e9); d[st] = 0; while(!q.empty()){ int x = q.front(); q.pop(); for(auto y : g[x]){ if(d[y] == 1e9){ d[y] = d[x] + 1; q.push(y); } } } 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; } return c[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...