//#include "stations.h"
#include <cstdio>
#include <cassert>
#include <map>
#include <vector>
#include <algorithm>
#include<bits/stdc++.h>
#define INF 1e18
#define fi first
#define se second
#define FOR(i, k, n) for(ll i = k; i <= n; i++)
#define FOR1(i, k, n) for(ll i = k; i >= n; i--)
#define pb push_back
#define fastio ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define vi vector<int>
#define pii pair<int, int>
#define vii vector<pii>
#define ll long long
#define vll vector<ll>
#define pll pair<ll, ll>
#define re return 0
#define mii map<int, int>
#define input "chinaflu.inp"
#define output "chinaflu.out"
#define rf freopen(input, "r", stdin); freopen(output, "w", stdout)
using namespace std;
const int maxn = 1e5 + 5;
const int mod = 1e9 + 9;
const int base = 998244353;
void add(int &a, int b)
{
a += b;
if(a >= mod) a -= mod;
if(a < 0) a += mod;
}
mt19937 rd(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r)
{
return uniform_int_distribution<int>(l, r) (rd);
}
static int max_label = 0;
static int r, n, k, q;
static std::vector<int> u, v, labels, answers;
static std::map<int, int> reverse_labels;
static std::vector<std::vector<int>> adjlist;
static int s, t, w;
static std::vector<int> c;
int depth[1005], cnt = -1;
vi vv;
vi adj[1005];
void DFS(int u, int par)
{
if(depth[u] % 2 == 0)
{
vv[u] = ++cnt;
}
for(auto v : adj[u])
{
if(v == par)
continue;
depth[v] = depth[u] + 1;
DFS(v, u);
}
if(depth[u] % 2)
{
vv[u] = ++cnt;
}
}
vi label(int n, int k, vi u, vi v)
{
cnt = -1;
FOR(i, 0, n - 1)
adj[i].clear();
FOR(i, 0, n - 2)
{
adj[u[i]].pb(v[i]);
adj[v[i]].pb(u[i]);
}
vv.clear();
FOR(i, 1, n)
vv.pb(0);
depth[0] = 0;
DFS(0, 0);
return vv;
}
int find_next_station(int s, int t, vi adj1)
{
if(adj1.size() == 1)
{
return adj1.back();
}
if(adj1.back() > s)
{
if(t < s || t > adj1.back())
return adj1.back();
int id = lower_bound(adj1.begin(), adj1.end(), t) - adj1.begin();
return adj1[id];
}
else
{
if(t > s || t < adj1[0])
return adj1[0];
int id = upper_bound(adj1.begin(), adj1.end(), t) - adj1.begin() - 1;
return adj1[id];
}
}
# | 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... |