제출 #1331042

#제출 시각아이디문제언어결과실행 시간메모리
1331042somefolk기지국 (IOI20_stations)C++20
5 / 100
392 ms572 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

void dfs(int u, int timer, vector<vector<int>> &adj, vector<int> &labels, vector<int> &vis){
	labels[u] = timer++;
	vis[u] = true;
	for(auto &v : adj[u]){
		if(vis[v]) continue;
		dfs(v, timer, adj, labels, vis);
	}
}

vector<int> label(int n, int k, vector<int> u, vector<int> v){
	vector<vector<int>> adj(n);
	vector<int> labels(n);
	vector<int> vis(n, 0);

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

	int rt = 0;
	for(int i = 0; i < n; i++){
		if((int)adj[i].size() == 1) { rt = i; break; }
	}
	dfs(rt, 0, adj, labels, vis);

	return labels;
}

int find_next_station(int s, int t, vector<int> c){
	if((int)c.size() == 1) return c[0];
	if(t > s) return c[1];
    else 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...