Submission #1132376

#TimeUsernameProblemLanguageResultExecution timeMemory
1132376StefanSebezStations (IOI20_stations)C++20
0 / 100
298 ms564 KiB
#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double const int N=1050; vector<int>E[N]; int in[N],nc=-1; bool was[N]; void DFS(int u){ in[u]=++nc;was[u]=true; for(auto i:E[u]){ if(was[i]) continue; DFS(i); } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v){ for(int i=0;i<n-1;i++){ E[u[i]].pb(v[i]); E[v[i]].pb(u[i]); } int root=0; for(int i=0;i<n;i++){ if(E[i].size()==1) root=i; } DFS(root); vector<int>lbl;for(int i=0;i<n;i++) lbl.pb(in[i]); return lbl; } int find_next_station(int s, int t, std::vector<int> c){ int res=0; if(s<t){ for(int i=0;i<c.size();i++){ int u=c[i]; if(u>s) res=u; } } else{ for(int i=0;i<c.size();i++){ int u=c[i]; if(u<s) res=u; } } return res; }
#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...