Submission #1367787

#TimeUsernameProblemLanguageResultExecution timeMemory
1367787elotelo966Stations (IOI20_stations)C++20
0 / 100
296 ms520 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define fi first
#define se second
#define FOR for(int i=1;i<=n;i++)

#define lim 1005

vector<int> adj[lim];

int uzak;

int ind[lim];

int cur=1;

inline void dfs(int node,int ata){
	ind[node]=++cur;
	for(auto go:adj[node]){
		if(go==ata)continue;
		dfs(go,node);
	}
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	std::vector<int> labels(n);
	for(int i=0;i<n-1;i++){
		adj[u[i]].pb(v[i]);
		adj[v[i]].pb(u[i]);
	}
	
	int orta=0;
	
	for(int i=0;i<n;i++){
		if(adj[i].size()>2)orta=i;
	}
	
	ind[orta]=1;
	
	cur=1;
	
	for(auto go:adj[orta]){
		cur+=10;
		dfs(go,orta);
	}
	
	for(int i=0;i<n;i++){
		labels[i]=ind[i];
	}
	
	for(int i=0;i<n;i++){
		adj[i].clear();
	}
	return labels;
}

int find_next_station(int s, int t, std::vector<int> c) {
	if(c.size()==1)return c[0];
	if(s==1){
		for(auto a:c){
			if(abs(a-t)<10)return a;
		}
	}
	int tut=abs(s-t);
	if(tut>=10){
		return c[0];
	}
	if(s<t){
		if(s<c[0] && c[0]<t)return c[0];
		return c[1];
	}
	else{
		if(s>c[0] && c[0]>t)return c[0];
		return c[1];
	}
}

//~ int main(){
	//~ int n,k;
	//~ cin>>n>>k;
	//~ vector<int> u,v;
	//~ for(int i=1;i<n;i++){
		//~ int x,y;cin>>x>>y;
		//~ u.pb(x);
		//~ v.pb(y);
	//~ }
	//~ vector<int> tut=label(n,k,u,v);
	//~ for(auto a:tut)cout<<a<<" ";
	//~ cout<<'\n';
	//~ int q;cin>>q;
	//~ while(q--){
		//~ int s,t;cin>>s>>t;
		//~ int kac;cin>>kac;
		//~ vector<int> tt;
		//~ for(int i=0;i<kac;i++){
			//~ int x;cin>>x;
			//~ tt.pb(x);
		//~ }
		//~ cout<<find_next_station(s,t,tt)<<'\n';
	//~ }
//~ }
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...