제출 #1240288

#제출 시각아이디문제언어결과실행 시간메모리
1240288MuhammadSaram기지국 (IOI20_stations)C++20
0 / 100
1 ms516 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const int M = 1e3; vector<int> nei[M], ans; int st[M], en[M], t; void dfs(int u,int p=-1,bool a=0) { st[u]=t++; for (int i:nei[u]) if (i!=p) dfs(i,u,!a); ans[u]=en[u]=t++; if (!a) ans[u]=st[u]; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { t=0; for (int i=0;i<n;i++) nei[i].clear(); ans=vector<int>(n); for (int i=0;i<n-1;i++) nei[u[i]].push_back(v[i]), nei[v[i]].push_back(u[i]); dfs(0); for (int i:ans) cout<<i<<' '; cout<<endl; return ans; } int find_next_station(int s, int t, vector<int> c) { int m=c.size(); if (m==1) return c[0]; if (c[0]>s) { if (!s) { for (int i:c) if (t<=i) return i; } if (t<=c[m-2] && t>s) { for (int i:c) if (t<=i) return i; } else return c[m-1]; } if (t>=c[1] && t<s) { for (int i=m-1;i>0;i--) if (t>=c[i]) return c[i]; } 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...