H - Two PCities Editorial

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 800800

問題文

パソコン力を高めるの国は NN 個の都市とそれらを結ぶ N1N - 1 本の双方向の道路からなる。道路 ii は都市 Ai,BiA_i, B_i を結ぶ。道路以外を使って都市間を移動することはできず、またどの国からどの国へもいくつかの道路を通ることで移動することができる。つまり、この国はグラフとして木構造をなす。

パ研国も NN 個の都市からなる。この国の都市 a,b (ab)a, b \ (a \neq b) の間には、以下の条件を満たすとき、またそのときに限って道路が存在する。

  • パソコン力を高めるの国の都市 a,ba, b 間を KK 本未満の道路を通って行き来できない。

以下の QQ 個の質問に答えよ。ii 番目の質問は以下である。

  • パ研国の都市 Xi,YiX_i, Y_i の間を道路のみを用いて行き来できるか?もしできるならば、最低何本の道路を通る必要があるか?

制約

  • 2K+1N1052 \leq K + 1 \leq N \leq 10^5
  • 1Ai,BiN (1iN1)1 \leq A_i, B_i \leq N \ (1 \leq i \leq N - 1)
  • 与えられるグラフは木である。
  • 1Q1051 \leq Q \leq 10^5
  • 1Xi,YiN,XiYi (1iN1)1 \leq X_i, Y_i \leq N, X_i \neq Y_i \ (1 \leq i \leq N - 1)
  • 入力は全て整数

配点

以下の小課題に点数が定められている。

  1. (300300 点) N,Q1000N, Q \leq 1000
  2. (500500 点) 追加の制約はない。

入力

入力は以下の形式で標準入力から与えられる。

NN QQ KK
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
AN1A_{N-1} BN1B_{N-1}
X1X_1 Y1Y_1
X2X_2 Y2Y_2
\vdots
XQX_Q YQY_Q

出力

QQ 行出力せよ。i (1iQ)i \ (1 \leq i \leq Q) 行目には質問 ii への答えを出力せよ。各質問では、もし行き来ができない場合 -1 を出力し、そうでない場合必要な道路の最小本数を出力せよ。


入力例 1Copy

Copy
4 2 2
1 2
2 3
3 4
1 4
2 3

出力例 1Copy

Copy
1
3

パソコン力を高めるの国における都市 1,41, 4 の距離は 33 なので、パ研国における都市 1,41, 4 の距離は 11 である。よって、クエリ 11 では 1 を出力すれば良い。

クエリ 22 については、都市 2,4,1,32, 4, 1, 3 の順に進むことで移動できる。これが最善なので、 3 を出力する。


入力例 2Copy

Copy
7 3 3
1 2
1 3
2 4
2 5
3 6
3 7
3 4
2 3
6 7

出力例 2Copy

Copy
1
3
2


2025-04-05 (Sat)
09:46:39 +00:00