Submission #1292767

#TimeUsernameProblemLanguageResultExecution timeMemory
1292767julia_08Stations (IOI20_stations)C++20
5 / 100
402 ms556 KiB
#include <bits/stdc++.h>
#include "stations.h"

using namespace std;

const int MAXN = 1e3 + 10;

vector<int> adj[MAXN];

vector<int> ord;

void dfs(int v, int p){

	for(auto u : adj[v]){
		if(u != p){
			dfs(u, v);
		}
	}

	ord.push_back(v);

}

vector<int> label(int n, int k, vector<int> u, vector<int> v){

	vector<int> labels(n);

	for(int i=0; i<n; i++) adj[i].clear();

	ord.clear();

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

	int st = 0;

	for(int i=0; i<n; i++) if((int) adj[i].size() == 1) st = i;

	dfs(st, st);

	for(int i=0; i<n; i++) labels[ord[i]] = i;

	return labels;

}

int find_next_station(int s, int t, vector<int> c){
	return (s < t ? 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...