Submission #1213069

#TimeUsernameProblemLanguageResultExecution timeMemory
1213069thelegendary08Stations (IOI20_stations)C++17
0 / 100
301 ms532 KiB
#include "stations.h" #include<bits/stdc++.h> #define pb push_back #define mp make_pair #define vi vector<int> #define f0r(i,n) for(int i = 0; i<n; i++) #define FOR(i, k, n) for(int i = k; i<n; i++) #define dout(x) cout<<x<<' '<<#x<<'\n'; #define vout(x) for(auto u : x)cout<<u<<' '; cout<<'\n'; #define vb vector<bool> using namespace std; const int mxn = 1005; vector<vi>adj(mxn); std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { vi deg(n); f0r(i,n-1){ adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); deg[u[i]]++; deg[v[i]]++; } int st; f0r(i,n){ if(deg[i] == 1)st = i; } vi path = {st}; queue<int>q; q.push(st); vb vis(n); vis[st] = 1; while(!q.empty()){ int node = q.front(); q.pop(); for(auto u : adj[node]){ if(!vis[u]){ vis[u] = 1; q.push(u); path.pb(u); } } } std::vector<int> labels(n); for (int i = 0; i < n; i++) { labels[path[i]] = i; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { for(auto u : c){ if(s > t && s > u)return u; if(s < t && s < u)return u; } 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...