#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+1);
for (int i=0; i<n-1; i++) {
adj[u[i]+1].push_back(v[i]+1);
adj[v[i]+1].push_back(u[i]+1);
}
vector <int> lbl(n+1);
for (int i=1; i<=n; i++){
int ans=0;
for (int j=0; j<adj[i].size(); j++){
int visited[n+1]={0};
visited[i]=1;
visited[adj[i][j]]=1;
queue <int> q;
int tttt=adj[i][j];
for (int ij=0; ij<adj[tttt].size(); ij++){
q.push(adj[tttt][ij]);
}
while (q.size()){
int x=q.front();
q.pop();
if (visited[x]==0){
visited[x]=1;
ans=ans*10+x;
for (int ij=0; ij<adj[x].size(); ij++){
q.push(adj[x][ij]);
}
}
}
ans=ans*10+adj[i][j];
}
ans=ans*10+i;
lbl[i-1]=ans;
}
return lbl;
}
int find_next_station(int s, int t, vector <int> cp){
int target=t%10;
vector <int> c;
while (s>0){
c.push_back(s%10);
s=s/10;
}
reverse(c.begin(),c.end());
for (int i=0; i<c.size(); i++){
if (c[i]==t){
for (int j=i; j<c.size(); j++){
for (int z=0; z<cp.size(); z++){
if (cp[z]%10-1==c[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... |