Submission #311983

#TimeUsernameProblemLanguageResultExecution timeMemory
311983htc001Stations (IOI20_stations)C++14
0 / 100
863 ms1048 KiB
#include<bits/stdc++.h> #include "stations.h" using namespace std; const int N=1005; int tme; vector<int> lab; vector<int> nei[N]; map<int,int> mp; void dfs(int x,int p,int lv){ if(lv) lab[x-1]=tme++; for(int i=0;i<int(nei[x].size());i++){ int to=nei[x][i]; if(to!=p) dfs(to,x,lv^1); } if(!lv) lab[x-1]=tme++; } vector<int> label(int n,int k,vector<int> u,vector<int> v){ lab.clear(); lab.resize(n); tme=0; for(int i=1;i<=n;i++) nei[i].clear(); for(int i=0;i<n-1;i++){ u[i]++;v[i]++; // printf("%d %d\n",u[i],v[i]); nei[u[i]].push_back(v[i]); nei[v[i]].push_back(u[i]); } dfs(1,-1,0); return lab; } int find_next_station(int s,int t,vector<int> c){ sort(c.begin(),c.end()); if(s<c[0]){ if(t>s) return *lower_bound(c.begin(),c.end(),t); else return c[int(c.size())-1]; }else{ if(t<s) return *(lower_bound(c.begin(),c.end(),t+1)-1); else 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...