Submission #429814

#TimeUsernameProblemLanguageResultExecution timeMemory
429814dreezyStations (IOI20_stations)C++17
5 / 100
1144 ms540 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	vector<int> cnt(n);
	vector<int> labels(n);
	vector<vector<int>> graph(n, vector<int>());
	for (int i = 0; i < n - 1; i++) {
		//cout << u[i]<<", "<<v[i]<<endl;
		cnt[u[i]]++;
		cnt[v[i]]++;
		graph[u[i]].pb(v[i]);
		graph[v[i]].pb(u[i]);
	}
	
	int cur = 0;
	for(int i =0; i <n; i++)
		if(cnt[i] == 1) {
			cur = i;
			break;
		}
	vector<bool> vis(n);
	int counter = 0;
	while(true){
		labels[cur] = counter++;
		//cout << cur <<", "<<counter<<endl;
		vis[cur] = true;
		bool done = true;
		for(int adj : graph[cur]){
			if(vis[adj]) continue;
			done = false;
			cur = adj;
			break;
		}
		if(done ) break;
	}
	
	return labels;
}

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