Submission #1194305

#TimeUsernameProblemLanguageResultExecution timeMemory
1194305simona1230Stations (IOI20_stations)C++20
0 / 100
316 ms5152 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; vector<int> g[200001]; vector<int> l; int used[200001]; void dfs(int i,int h) { used[i]=1; if(i<l.size())l[i]=h; for(int j=0; j<g[i].size(); j++) { int nb=g[i][j]; if(!used[nb])dfs(nb,h+1000); } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { l.clear(); for(int i=0;i<n;i++) l.push_back(0); for(int i=0;i<n;i++) l[i]=i; return l; for(int i=0; i<n; i++) g[i].clear(),used[i]=0; for(int i=0; i<n-1; i++) g[u[i]].push_back(v[i]),g[v[i]].push_back(u[i]); for(int i=0; i<n; i++) { if(g[i].size()>2) { l[i]=0; used[i]=1; for(int j=0; j<g[i].size(); j++) { dfs(g[i][j],j+1); } return l; } } if(!used[0])dfs(0,1); return l; } int find_next_station(int s, int t, std::vector<int> c) { return c[0]; if(c.size()==1)return c[0]; //cout<<s<<" ! "<<t<<endl; if(s%1000==t%1000) { if(s<t)return c[1]; return c[0]; } if(s==0) return t%1000; if(s<1000)return 0; return s-1000; }
#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...