제출 #1367735

#제출 시각아이디문제언어결과실행 시간메모리
1367735AKaan37기지국 (IOI20_stations)C++17
100 / 100
290 ms560 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

vector<int> v[1005];
int ind[1005],say=0;

inline void dfs(int node,int ata,int vd){
	if(vd==0)ind[node]=say++;
	for(auto go:v[node]){
		if(go==ata)continue;
		dfs(go,node,!vd);
	}
	if(vd==1)ind[node]=say++;
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> vv) {
    for(int i=0;i<n;i++)v[i].clear();
    say=0;
	std::vector<int> labels(n);
	for(int i=0;i<n-1;i++){
		v[u[i]].pb(vv[i]);
		v[vv[i]].pb(u[i]);
	}
	dfs(0,-1,0);
	for (int i = 0; i < n; i++) {
		labels[i] = ind[i];
	}
	return labels;
}

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