Submission #429878

#TimeUsernameProblemLanguageResultExecution timeMemory
429878dreezy기지국 (IOI20_stations)C++17
0 / 100
1373 ms664 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back vector<int> labels; vector<vector<int>> graph; void dfs(int n,int p, int curlabel){ labels[n] = curlabel; for(int adj : graph[n]) { if(adj != p) dfs(adj, n, curlabel + 1); } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> cnt(n); labels.assign(n, 0); graph.assign( n, vector<int>()); for (int i = 0; i < n - 1; i++) { //cout << u[i]<<", "<<v[i]<<endl; cnt[u[i]]++; cnt[v[i]]++; graph[u[i]].pb(v[i]); graph[v[i]].pb(u[i]); } int root = 0; int counter = 0; for(int branch : graph[root]){ dfs(branch, root,counter * 1000 +1); counter++; } return labels; } int find_next_station(int s, int t, vector<int> c) { int startbranch = s/1000; int endbranch = t/1000; if(s == 0){ return endbranch * 1000 + 1; } if(startbranch == endbranch){ if(s < t) return s + 1; } if( (s - 1) % 1000 == 0) return 0; return s -1; } /************/
#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...