제출 #306234

#제출 시각아이디문제언어결과실행 시간메모리
306234sofapudenStations (IOI20_stations)C++17
0 / 100
3069 ms2097156 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> gri; vector<int> ret; int cn; void dfs(int x, int p, int d){ if(!(d&1))ret[x] = cn++; for(auto i : gri[x]){ if(i == p)continue; dfs(i,x,d+1); } if(d&1)ret[x] = cn++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { cn = 0; gri.assign(n, vector<int>(0)); ret.assign(n,-1); for(int i = 0; i < n; ++i){ gri[u[i]].push_back(v[i]); gri[v[i]].push_back(u[i]); } dfs(0,0,0); return ret; } int find_next_station(int s, int t, vector<int> c) { int m = c.size(); if(m == 1)return c[0]; for(auto i : c)if(i == t)return i; if(s < c[0]){ sort(c.begin(),c.end()); if(t < s)return c.back(); for(int i = 0; i < m-1; ++i){ if(c[i] > t)return c[i]; } return c.back(); } sort(c.rbegin(),c.rend()); if(s < t)return c.back(); for(int i = 0; i < m-1; ++i){ if(c[i] < t)return c[i]; } return c.back(); }
#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...