Submission #432651

#TimeUsernameProblemLanguageResultExecution timeMemory
432651salehStations (IOI20_stations)C++17
8 / 100
871 ms736 KiB
//#include "stations.h"//
#include <bits/stdc++.h>


using namespace std;

const int MAXN = 1000 + 23;

vector<int> g[MAXN];
int such, ft = 0;
vector<int> labels;

int dfs(int v, int p = -1, int nat = -1) {
//	if (v == such) cout << v << p << nat << endl;
	if (v == such) return nat;
	for (auto i : g[v]) if (i != p) {
		if (p == -1) {
			int tmp = dfs(i, v, i);
			if (tmp != -1) return tmp;
		}
		else {
			int tmp = dfs(i, v, nat);
			if (tmp != -1) return tmp;
		}
	}
	return -1;
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	labels.clear();
	for (int i = 0; i < n; i++) labels.push_back(i);
	return labels;
}

int find_next_station(int s, int t, vector<int> c) {
	if (ft == 0) for (int i = 0; i < MAXN - 3; i++) g[i / 2].push_back(i + 1), g[i + 1].push_back(i / 2);
	ft++;
	such = t;
	return dfs(s);
}
/*
int main() {
	for (auto i : label(3, 8, {0, 1}, {1, 2})) cout << i << endl;
	cout << find_next_station(0, 2, {1});
	return 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...