Submission #509989

#TimeUsernameProblemLanguageResultExecution timeMemory
509989jamezzzStations (IOI20_stations)C++17
0 / 100
1 ms292 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; #define pb push_back vector<int> label(int n,int k,vector<int> u,vector<int> v){ vector<int> l(n,-1),deg(n); vector<vector<int>> AL; AL.resize(n); for(int i=0;i<n-1;++i){ ++deg[u[i]]; ++deg[v[i]]; AL[u[i]].pb(v[i]); AL[v[i]].pb(u[i]); } int mx=0,pos=0; for(int i=0;i<n;++i){ if(deg[i]>mx){ mx=deg[i]; pos=i; } } l[pos]=0; for(int i=0;i<mx;++i){ int u=AL[pos][i]; l[u]=i+1; while(true){ for(int v:AL[u]){ if(l[v]==-1){ l[v]=l[u]+mx; u=v;break; } } if(AL[u].size()==1)break; } } for(int i:l)printf("%d ",i); return l; } int find_next_station(int s,int t,vector<int> c){ if(s==0){ int mod=c.size(); if(t%mod==0)return c[mod-1]; else return c[t%mod-1]; } else if(c.size()==1){ return c[0]; } else{ int mod=c.back()-s; if(t>s&&t%mod==s%mod)return c[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...