제출 #1362722

#제출 시각아이디문제언어결과실행 시간메모리
1362722cowkim기지국 (IOI20_stations)C++20
100 / 100
306 ms588 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
void dfs(int x, int p, int& i,int d, vector<int>& labels,vector<vector<int>>& adj){
	if(d%2 == 0) labels[x] = i++;
	for(auto node : adj[x]){
		if(node == p) continue;
		dfs(node,x,i,d+1,labels,adj);
	}
	if(d%2 == 1) labels[x] = i++;
}																
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	vector<vector<int>> adj(n);
	for(int i = 0; i< u.size(); i++){
		adj[u[i]].push_back(v[i]);
		adj[v[i]].push_back(u[i]);
	}

	std::vector<int> labels(n);
	int i = 0;
	dfs(0,0,i,0,labels,adj);
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	if(c[0] < s){
		if(s < t) return c[0];
		for(int i = c.size()-1; i >= 0; i--){
			if(c[i] <= t) return c[i];
		}
		return c[0];
	}
	else{
		reverse(c.begin(),c.end());
		if(t < s) return c[0];
		for(int i = c.size()-1; i>= 0; i--){
			if(t <= c[i]) return c[i];
		}
		return c[0];
	}
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…