제출 #979305

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

using namespace std;

vector<int> lbl;
vector<vector<int>> adj;

void DFS(int index, int last, int id)
{
	lbl[index] = id;
	for (auto node : adj[index])
	{
		if (node == last) continue;
		DFS(node, index, id + 1);
	}
}

vector<int> label(int N, int K, vector<int> U, vector<int> V)
{
	adj.resize(N, {});
	lbl.resize(N, 0);

	for (int i = 0; i < N - 1; i++)
	{
		adj[U[i]].push_back(V[i]);
		adj[V[i]].push_back(U[i]);
	}

	for (int i = 0; i < N; i++)
	{
		if (adj[i].size() == 1)
		{
			DFS(i, -1, 0);
			break;
		}
	}
	return lbl;
}

int find_next_station(int S, int T, vector<int> C)
{
	return ((T > S) ? S + 1 : S - 1);
}
#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...