AT_pakencamp_2023_day2_h Two PCities
题目描述
“提升计算机能力之国”有 $N$ 个城市,以及连接这些城市的 $N-1$ 条双向道路。第 $i$ 条道路连接城市 $A_i$ 和 $B_i$。除了道路以外无法在城市之间移动,并且任意两座城市间总可以通过若干道路相连。也就是说,这个国家的城市和道路形成一棵树。
“Pa研国”也有 $N$ 个城市。这个国家中,城市 $a$ 和 $b$($a \neq b$)之间只有在以下条件成立时且仅在此时才存在道路:
- 如果从“提升计算机能力之国”的城市 $a$ 到 $b$ 的最短路径长度不少于 $K$,那么在“Pa研国”的 $a$ 与 $b$ 之间存在一条道路。
现在要回答以下 $Q$ 个问题。第 $i$ 个问题如下:
- 仅使用“Pa研国”的道路,能否从城市 $X_i$ 到 $Y_i$ ?如果可以,至少需要经过几条道路?
输入格式
输入按以下格式从标准输入读入。
> $N$ $Q$ $K$
> $A_1$ $B_1$
> $A_2$ $B_2$
> $\vdots$
> $A_{N-1}$ $B_{N-1}$
> $X_1$ $Y_1$
> $X_2$ $Y_2$
> $\vdots$
> $X_Q$ $Y_Q$
输出格式
输出共 $Q$ 行。第 $i$ 行输出第 $i$ 个问题的答案。对于每个问题,如果无法到达则输出 `-1`,否则输出所需经过的道路的最小数量。
说明/提示
### 配点
本题配有以下小任务分数:
1. ($300$ 分)$N, Q \leq 1000$
2. ($500$ 分)没有额外限制。
### 样例说明 1
在“提升计算机能力之国”中,城市 $1$ 和 $4$ 的距离为 $3$,所以在“Pa研国”中,城市 $1$ 和 $4$ 之间的距离为 $1$。因此,第 $1$ 个查询输出 `1` 即可。
对于查询 $2$,可以按城市 $2, 4, 1, 3$ 的顺序依次经过即可到达,这已是最优方案,所以输出 `3`。
# 数据范围
- $2 \leq K + 1 \leq N \leq 10^5$
- $1 \leq A_i, B_i \leq N \ (1 \leq i \leq N - 1)$
- 给定的图结构为一棵树。
- $1 \leq Q \leq 10^5$
- $1 \leq X_i, Y_i \leq N,\ X_i \neq Y_i\ (1 \leq i \leq N - 1)$
- 所有输入均为整数。
由 ChatGPT 5 翻译