제출 #781207

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

using namespace std;

const int Nax = 1005;

class Undirected_Graph{
	public:
		
		int N, Timer = 0;
		vector<vector<int>>adj;
		vector<int>in;

		Undirected_Graph(int _N):N(_N){
			adj.resize(N);
			in.resize(N);
		}

		inline void Add_Edge(int A, int B){
			adj[A].push_back(B);
			adj[B].push_back(A);
		}

		inline void Depth_First_Search(int Node, int Parent){
			in[Node] = Timer++;
			for (int& Next : adj[Node]){
				if (Next == Parent)continue;
				Depth_First_Search(Next,Node);
			}
		}

};


std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	std::vector<int> labels(n);
	Undirected_Graph G(n);

	for (int i = 0; i < n - 1; i++){
		G.Add_Edge(u[i],v[i]);
	}

	G.Depth_First_Search(0,0);

	labels = G.in;

	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	sort(c.begin(), c.end());
	if (t < s)return c[0];
	int from = 1;
	if (s == 0)from = 0;
	
	for (int i = from; i < (int)c.size() - 1; i++){
		if (t >= c[i] && t < c[i + 1]){
			return c[i];
		}
	}
	return c.back();
}
#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...