Submission #412975

#TimeUsernameProblemLanguageResultExecution timeMemory
412975SuhaibSawalha1Stations (IOI20_stations)C++17
5 / 100
1200 ms632 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> adj;
vector<int> lab;
int cnt;

void dfs (int u, int p = -1) {
	for (int v : adj[u]) {
		if (v ^ p) {
			dfs(v, u);
		}
	}
	lab[u] = cnt++;
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	adj.assign(n, {});
	lab.resize(n);
	cnt = 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);
			break;
		}
	}
	return lab;
}
 
int find_next_station(int s, int t, vector<int> c) {
	return s - (t < s) + (t > s);
}
#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...