#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define all(a) begin(a), end(a)
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
vvi edges;
int c = 0;
vector<int> labels;
vi visited;
void dfs(int at, int from)
{
visited[at] = true;
for(auto to: edges[at])
{
if(to != from && !visited[to])
{
dfs(to, at);
}
}
labels[at] = c++;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
edges.resize(n);
labels.resize(n);
visited.resize(n, false);
for(int i = 0; i < u.size(); i++)
{
if(u[i] >= n || v[i] >= n)
return {};
edges[u[i]].push_back(v[i]);
edges[v[i]].push_back(u[i]);
}
dfs(0, -1);
return {};
}
int find_next_station(int s, int t, std::vector<int> c) {
if(t > s)
return c.back();
auto it = lower_bound(all(c), t);
if(it == c.end())
return c.back();
return *it;
}
# | 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... |