제출 #853495

#제출 시각아이디문제언어결과실행 시간메모리
853495nnin기지국 (IOI20_stations)C++14
5 / 100
633 ms968 KiB
#include "stations.h" #include <vector> #include<bits/stdc++.h> using namespace std; vector<int> adj[1005], tmp; int ct; void dfs(int u, int p) { tmp[u] = ct++; for(int n:adj[u]) { if(n==p) continue; dfs(n, u); } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> labels(n); tmp.clear(); tmp.resize(n); for(int i=0;i<n;i++) adj[i].clear(); ct = 0; for(int i=0;i<n-1;i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } for(int i=0;i<n;i++) { if(adj[i].size()==1) { dfs(i, i); break; } } for(int i=0;i<n;i++) labels[i] = tmp[i]; return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(c.size()==1) return c[0]; if(t<s) return c[0]; int it = upper_bound(c.begin(), c.end(), t)-c.begin()-1; return c[it]; }
#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...