Submission #954957

#TimeUsernameProblemLanguageResultExecution timeMemory
954957irmuunStations (IOI20_stations)C++17
0 / 100
564 ms928 KiB
#include<bits/stdc++.h> #include "stations.h" using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() vector<int>label(int n,int k,vector<int>u,vector<int>v){ vector<int>l(n); vector<int>adj[n]; for(int i=0;i<n-1;i++){ adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); } int mx=0,root=0; for(int i=0;i<n;i++){ if((int)adj[i].size()>mx){ mx=(int)adj[i].size(); root=i; } } int cur=0,g=0; function <void(int,int)> dfs=[&](int x,int p){ l[x]=g*1000+cur; cur++; for(auto y:adj[x]){ if(y!=p){ dfs(y,x); } } }; for(auto j:adj[root]){ g++; cur=0; dfs(j,root); } return l; } int find_next_station(int s,int t,vector<int>c){ if(s==0){ int ans=c[0]; for(int i:c){ if(i/1000==t/1000){ ans=i; break; } } return ans; } if(t==0||s>t){ return c[0]; } 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...