#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
#include "stations.h"
using namespace std;
vector<int> label (int n, int k, vector<int> u, vector<int> v){
vector<int> lb(n, 0);
for(int i = 0; i<n-1; i++) lb[i] = i;
return lb;
}
int dfs(int target, int start){
if( start == target) return 1;
if(start > target) return 0;
return (dfs(target, (start*2)+1) || dfs(target, (start*2)+2));
}
int find_next_station(int s, int t, vector<int> c){
int c1 = s*2+1;
int c2 = s*2+2;
if(dfs(t, c2)) return c2;
if(dfs(t, c1)) return c1;
return ((s-1)/2);
}
// int main(void){
// freopen("input.txt", "r", stdin);
// int n; cin>>n;
// vector<int> u(n-1, 0);
// vector<int> v(n-1, 0);
// for(int i = 0; i<n-1; i++) cin>>u[i]>>v[i];
// label(n, 100000000, u, v);
// cout<<find_next_station(0, 6, {})<<endl<<find_next_station(1, 9, {}) << endl<<find_next_station(1, 3, {});
// }
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |