atcoder#ABC287H. [ABC287Ex] Directed Graph and Query

[ABC287Ex] Directed Graph and Query

题目描述

N N 頂点 M M 辺の有向グラフがあります。頂点には 1 1 から N N までの番号が付いており、i i 番目の有向辺は頂点 ai a_i から頂点 bi b_i へと結ばれています。

また、このグラフ上の経路について、コストを次のように定めます。

  • 経路上の頂点(始点・終点を含む)の番号の最大値

x=1,2,,Q x=1,2,\ldots,Q に対して次の問題を解いてください。

  • 頂点 sx s_x から頂点 tx t_x への経路のコストの最小値を求めよ。ただし、そのような経路が一つも存在しない場合は代わりに -1 と出力せよ。

なお、入力の量が多くなる場合があるので、高速な方法で入出力を行うことを推奨します。

输入格式

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

N N M M a1 a_1 b1 b_1 \vdots aM a_M bM b_M Q Q s1 s_1 t1 t_1 \vdots sQ s_Q tQ t_Q

输出格式

Q Q 行出力せよ。
i i 行目には x=i x=i に対する出力をせよ。

题目大意

NNMM 边有向图,结点从 11NN 编号,第 ii 边连接结点 ai,bia_i, b_i

路径的「成本」被定义为:

  • 路径上点的最大编号(包括起点和终点)

x=1,2,,Qx = 1,2,\cdots,Q,解决以下问题:

  • 求从点 sxs_xtxt_x 的最小「成本」,如果没有从路径,输出 -1

由于输入和输出量可能很大,建议使用较快速的输入方式。

4 4
1 2
2 3
3 1
4 3
3
1 2
2 1
1 4
2
3
-1

提示

制約

  • 2  N  2000 2\ \leq\ N\ \leq\ 2000
  • 0  M  N(N1) 0\ \leq\ M\ \leq\ N(N-1)
  • 1  ai,bi  N 1\ \leq\ a_i,b_i\ \leq\ N
  • ai  bi a_i\ \neq\ b_i
  • i  j i\ \neq\ j ならば (ai,bi)  (aj,bj) (a_i,b_i)\ \neq\ (a_j,b_j)
  • 1  Q  104 1\ \leq\ Q\ \leq\ 10^4
  • 1  si,ti  N 1\ \leq\ s_i,t_i\ \leq\ N
  • si  ti s_i\ \neq\ t_i
  • 入力はすべて整数

Sample Explanation 1

x=1 x=1 に対しては、1 1 番目の辺を通って頂点 1 1 から頂点 2 2 へ行く経路のコストが 2 2 であり、これが最小です。 x=2 x=2 に対しては、2 2 番目の辺を通って頂点 2 2 から頂点 3 3 へ、そして 3 3 番目の辺を通って頂点 3 3 から頂点 1 1 へ行く経路のコストが 3 3 であり、これが最小です。 x=3 x=3 に対しては、頂点 1 1 から頂点 4 4 への経路が存在しないため -1 と出力します。