#abc287h. [abc287_h]Directed Graph and Query

[abc287_h]Directed Graph and Query

题目描述

有一个有 NN 个顶点和 MM 条边的有向图。顶点编号为 11NN,第 ii 条有向边从顶点 aia_i 指向顶点 bib_i

在该图上,路径的成本定义为:

  • 路径上顶点的最大索引(包括初始和终止顶点)。

解决以下问题,对于每个 x=1,2,ldots,Qx=1,2,\\ldots,Q

  • 从顶点 sxs_x 到顶点 txt_x 的路径的最小成本是多少?如果不存在这样的路径,则输出 -1

鉴于可能存在大量的输入和输出,推荐使用快速输入和输出方法。

约束条件

  • 2leqNleq20002 \\leq N \\leq 2000
  • 0leqMleqN(N1)0 \\leq M \\leq N(N-1)
  • 1leqai,bileqN1 \\leq a_i,b_i \\leq N
  • aineqbia_i \\neq b_i
  • 如果 ineqji \\neq j,则 (ai,bi)neq(aj,bj)(a_i,b_i) \\neq (a_j,b_j)
  • 1leqQleq1041 \\leq Q \\leq 10^4
  • 1leqsi,tileqN1 \\leq s_i,t_i \\leq N
  • sineqtis_i \\neq t_i
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN MM a1a_1 b1b_1 vdots\\vdots aMa_M bMb_M QQ s1s_1 t1t_1 vdots\\vdots sQs_Q tQt_Q

输出

输出 QQ 行。
ii 行应包含对于 x=ix=i 的答案。

示例输入 1

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

示例输出 1

2
3
-1

对于 x=1x=1,从顶点 11 经过第 11 条边到达顶点 22 的路径的成本为 22,为最小值。
对于 x=2x=2,从顶点 22 经过第 22 条边到达顶点 33,然后经过第 33 条边从顶点 33 到达顶点 11 的路径的成本为 33,为最小值。
对于 x=3x=3,从顶点 11 到顶点 44 不存在路径,因此应打印 -1