#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> label(int n, int k, vector<int> u, vector<int> v){
vector<vector<int>> adj(n);
for(int i=0;i<n-1;i++){
adj[u[i]].push_back(v[i]);
adj[v[i]].push_back(u[i]);
}
vector<int> lbl(n,0);
for(int i=0;i<n;i++){
string s=to_string(i);
for(int nb:adj[i]){
vector<char> visited(n,0);
visited[i]=1;
queue<int> q;
q.push(nb);
string part;
while(!q.empty()){
int x=q.front(); q.pop();
if(visited[x]) continue;
visited[x]=1;
part+=char('0'+x);
for(int y:adj[x]) if(!visited[y]) q.push(y);
}
part+=char('0'+nb);
s+=part;
}
lbl[i]=stoi(s);
}
return lbl;
}
int find_next_station(int s,int t,vector<int> cp){
int target=t;
while(target>9) target/=10;
string ss=to_string(s);
vector<int> digits;
for(char ch:ss) digits.push_back(ch-'0');
for(size_t i=0;i<digits.size();i++){
if(digits[i]==target){
for(size_t j=i;j<digits.size();j++){
for(int z=0;z<(int)cp.size();z++) if(cp[z]==digits[j]) return cp[z];
}
}
}
return cp[0];
}
| # | 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... |