#include<bits/stdc++.h>
using namespace std;
#define L(i,j,k) for(int i=(j);i<=(k);i++)
#define R(i,j,k) for(int i=(j);i>=(k);i--)
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(),(v).end()
#include "stations.h"
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
vector<int> dp(n);
iota(all(dp),0);
return dp;
}
int find_next_station(int s, int t, std::vector<int> c) {
int n=1001;
vector<vector<int>> adj(n);
L(i,1,n-1){
adj[i].push_back(i/2);
adj[i/2].push_back(i);
}
auto dfs=[&](auto&& self, int node,int pai, int quero)->int{
int feliz=-1;
if(node==quero)return node;
for(auto a:adj[node]){
if(a==pai)return a;
feliz=max(feliz,self(self,a,node,quero));
}
if(node==pai){
return feliz;
}
else {
if(feliz!=-1)return node;
return -1;
}
};
return dfs(dfs,s,s,t);
}
| # | 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... |