#include <iostream>
#include <queue>
#include "stations.h"
#include <vector>
bool debug=0;
using namespace std;
#define pb push_back
#define mp make_pair
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
// subtask 1: line city
vector<vector<int>> adj(n);
for(int i=0; i<n-1; i++){
adj[u[i]].pb(v[i]);
adj[v[i]].pb(u[i]);
}
// find edge
int cur;
for(int i=0; i<n; i++){
if(adj[i].size()==0){
// this an edge!
cur = i;
break;
}
}
vector<int> labels(n, -1);
queue<int> q;
q.push(cur);
int cnt=0;
while(!q.empty()){
cur = q.front();
q.pop();
labels[cur] = cnt;
cnt++;
for(int e:adj[cur]){
if(labels[e] == -1){
q.push(e);
}
}
}
return labels;
}
int find_next_station(int s, int t, vector<int> c) {
if(s<t){
return s+1;
} else{
return s-1;
}
}
# | 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... |