제출 #524516

#제출 시각아이디문제언어결과실행 시간메모리
524516Turkhuu기지국 (IOI20_stations)C++17
5 / 100
934 ms660 KiB
#include "stations.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> label(int n, int k, vector<int> U, vector<int> V){
  vector<vector<int>> g(n);
  for(int i = 0; i < n - 1; i++){
    g[U[i]].push_back(V[i]);
    g[V[i]].push_back(U[i]);
  }
  vector<int> a(n);
  int x = 0;
  function<void(int, int)> dfs = [&](int u, int anc){
    a[u] = x++;
    for(int v : g[u]){
      if(v != anc){
        dfs(v, u);
      }
    }
  };
  for(int i = 0; ; i++){
    if((int)g[i].size() == 1){
      dfs(i, i);
      return a;
    }
  }
}

int find_next_station(int s, int t, vector<int> c){
  if(s > t){
    return *min_element(c.begin(), c.end());
  } else{
    return *max_element(c.begin(), c.end());
  }
}
#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...