제출 #1338342

#제출 시각아이디문제언어결과실행 시간메모리
1338342hyyh기지국 (IOI20_stations)C++20
5 / 100
394 ms488 KiB
#include "stations.h"
#include <vector>
#include <queue>

using namespace std;

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	vector<int> labels(n, -1);
	vector<vector<int>> adj(n);
	for(int i{};i < n-1;i++){
		adj[u[i]].emplace_back(v[i]);
		adj[v[i]].emplace_back(u[i]);
	}
	int st = 0;
	for(int i{};i < n;i++){
		if(adj[i].size() == 1){
			st = i;
			break;
		}
	}
	queue<int> q;
	q.emplace(st);
	int t = 0;
	labels[st] = t++;
	while(!q.empty()){
		int hd = q.front();q.pop();
		for(auto l:adj[hd]){
			if(labels[l] != -1) continue;
			labels[l] = t++;
			q.push(l);
		}
	}
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	for(auto k:c){
		if(k <= t && k > s) return k;
		if(k >= t && k < s) return k;
	}
	return c[0];
}
#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...