問題文
N 頂点 M 辺の無向グラフ G が与えられます。 i=1,2,ldots,M について、i 番目の辺は頂点 ui と頂点 vi を結ぶ無向辺です。
N 頂点のグラフは、すべての i=1,2,ldots,K について下記の条件が成り立つとき、良いグラフと呼ばれます。
- G 上で頂点 xi と頂点 yi を結ぶパスが存在しない。
与えられるグラフ G は良いグラフです。
Q 個の独立な質問が与えられるので、それらすべてに答えてください。 i=1,2,ldots,Q について、i 番目の質問は
- 入力で与えられたグラフ G に頂点 pi と頂点 qi を結ぶ無向辺を 1 本追加して得られるグラフ G(i) は良いグラフですか?
という質問です。
制約
- 2leqNleq2times105
- 0leqMleq2times105
- 1lequi,vileqN
- 1leqKleq2times105
- 1leqxi,yileqN
- xineqyi
- $i \\neq j \\implies \\lbrace x_i, y_i \\rbrace \\neq \\lbrace x_j, y_j \\rbrace$
- すべての i=1,2,ldots,K について次が成り立つ:頂点 xi と頂点 yi を結ぶパスは存在しない。
- 1leqQleq2times105
- 1leqpi,qileqN
- pineqqi
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N M
u1 v1
u2 v2
vdots
uM vM
K
x1 y1
x2 y2
vdots
xK yK
Q
p1 q1
p2 q2
vdots
pQ qQ
出力
Q 行出力せよ。 i=1,2,ldots,Q について、i 行目には i 番目の質問に対する答えを出力せよ。 具体的には、グラフ G(i) が良いグラフである場合は Yes
を、良いグラフでない場合は No
を出力せよ。
入力例 1
6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4
出力例 1
No
No
Yes
Yes
- 1 番目の質問に関して、グラフ G(1) は良いグラフではありません。なぜなら、頂点 x1=1 と頂点 y1=5 を結ぶパス 1rightarrow2rightarrow5 を持つからです。よって、
No
と出力します。
- 2 番目の質問に関して、グラフ G(2) は良いグラフではありません。なぜなら、頂点 x2=2 と頂点 y2=6 を結ぶパス 2rightarrow6 を持つからです。よって、
No
と出力します。
- 3 番目の質問に関して、グラフ G(3) は良いグラフです。よって、
Yes
と出力します。
- 4 番目の質問に関して、グラフ G(4) は良いグラフです。よって、
Yes
と出力します。
この入力例のように、与えられるグラフ G が自己ループや多重辺を持つ場合があることに注意してください。