Submission #432397

#TimeUsernameProblemLanguageResultExecution timeMemory
432397PbezzStations (IOI20_stations)C++14
0 / 100
3170 ms2097156 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
typedef pair<ll,ll> pii;

const ll MAXN = 2e5+5;
const ll INF = 1e9+7;
vector<vector<ll>>adj(MAXN);
int deg[MAXN],order[MAXN];

void dfs(int node, int p,int mark){
order[node]=mark;
for(auto u:adj[node]){
if(u==p)continue;

dfs(u,node,mark+1);

}
}


std::vector<int> label(int n, int k,std::vector<int>u,std::vector<int>v){
	std::vector<int> labels(n);
	int i;
	for(i=0;i<n-1;i++){
	adj[u[i]].pb(v[i]);
	adj[v[i]].pb(u[i]);
	deg[u[i]]++;
	deg[v[i]]++;
	}

	for(i=0;i<n;i++) {
	if(deg[i]==1)break;
	}

	dfs(i,-1,0);

	for (i = 0; i < n; i++) {
		labels[i] = order[i];
	}
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {

	sort(c.begin(),c.end());
	if(t<s)return c[0];

	

	return c[c.size()-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...