#P3854. [TJOI2008] 通讯网破坏

[TJOI2008] 通讯网破坏

题目背景

由于争夺资源引起的矛盾冲突,AA 国和 BB 国进入了战争一触即发的状态。现在 AA 国的间谍机构设法得到了 BB 国的通讯网络布置情况,其中每个城市可以看作一个点,在某些点之间有无向边,表示这些城市之间可以进行双向的直接通讯。AA 国打算先发制人,通过核武器毁灭某个中间城市 MM,一举切断B国某两个重要城市 SS , TT 之间的联系,即从图中删除掉 MM 点之后,SSTT 变得不连通。但是由于 BB 国的防御力量也很强大,这样的核打击只能成功进行一次且只能毁灭一个城市。

题目描述

现在 AA 国的首脑提出了很多种作战策略,作为 AA 国的首席计算机科学家,你的任务是编写一个程序决定这些策略可行与否。

输入格式

输入文件的第一行为两个整数 NNMM,表示 BB 国的城市数和可以直接通讯的城市对数目。接下来的 MM 行,每行包括两个整数 CiC_iDiD_i1Ci,DiN1\leq C_i,D_i \leq NCiDiC_i \neq D_i,表示城市 CiC_iDiD_i 之间可以直接通讯。输入数据保证每对 (Ci,Di)(C_i,D_i) 最多出现一次。

接下来一行是一个整数 QQ,表示 AA 国首脑作出的策略数。接下来的 QQ 行,每行包括三个整数 Si,Ti,MiS_i,T_i,M_i1Si,Ti,MiN1 \leq S_i,T_i,M_i\leq N,且 Mi,Si,TiM_i,S_i,T_i 三个数互不相等)表示这个策略的内容是通过毁灭 MiM_i 来切断 SiS_iTiT_i 之间的联系。

输出格式

输出 QQ 行,表示对应的策略可行与否。如果毁灭 MiM_i 以后,SiS_iTiT_i 之间不能通讯,说明此策略可行,则应在第 ii 行输出 yes\mathtt{yes},否则输出 no\mathtt{no}

5 6
1 2
1 3
2 3
3 4
3 5
4 5
3
1 5 3
1 5 4
4 5 3

yes
no
no

提示

对于 30%30\% 的数据,1N100,1Q1001 \leq N \leq 100,1 \leq Q \leq 100

对于 100%100\% 的数据,$1 \leq N \leq 20000,1\leq M\leq 100000,1 \leq Q \leq 100000$。

输入数据保证原图的任意两点是连通的。