5834: 城市漫游
[Creator : ]
Description
林荫终于有机会与 DJ 一起逛大街啦,由于 DJ 是一个文艺少女,她要求林荫规划的路线必须经过城市中每一个节点,并且路线中不能有任何回环。
简单来说,DJ 要求路线是城市地图的一棵生成树。
林荫为了尽可能的延长和 DJ 逛大街的时间,他决定规划出一棵边权和最大的生成树。
现在林荫对此提出了两个问题:
1: 对于给出的城市地图,满足林荫要求的树是否唯一存在?
2: 对于任何一棵满足林荫要求的树,某些点间路径经过的最短边的长度最小值为多少?
对于问题 1,仅需要输出 YES/NO。
对于问题 2,林荫会提出 $Q$ 组询问,每次询问给入 $A,\ B$ 两个点,每次回答在所有满足林荫要求的生成树中从 $A$ 到 $B$ 所经过最短边的长度最小值。
记城市地图中节点数目为 $N$,边数为 $M$。
简单来说,DJ 要求路线是城市地图的一棵生成树。
林荫为了尽可能的延长和 DJ 逛大街的时间,他决定规划出一棵边权和最大的生成树。
现在林荫对此提出了两个问题:
1: 对于给出的城市地图,满足林荫要求的树是否唯一存在?
2: 对于任何一棵满足林荫要求的树,某些点间路径经过的最短边的长度最小值为多少?
对于问题 1,仅需要输出 YES/NO。
对于问题 2,林荫会提出 $Q$ 组询问,每次询问给入 $A,\ B$ 两个点,每次回答在所有满足林荫要求的生成树中从 $A$ 到 $B$ 所经过最短边的长度最小值。
记城市地图中节点数目为 $N$,边数为 $M$。
Input
第一行给入三个正整数:$N,\ M,\ Q$。
下面 $M$ 行每行三个正整数 $A,\ B,\ C$ 描述从 $A$ 点到 $B$ 点存在一条长度为 $C$ 的双向边。
下面 $Q$ 行每行两个正整数 $A,\ B$ 作为一组询问。
如果 $A==B$,输出 $0$。
下面 $M$ 行每行三个正整数 $A,\ B,\ C$ 描述从 $A$ 点到 $B$ 点存在一条长度为 $C$ 的双向边。
下面 $Q$ 行每行两个正整数 $A,\ B$ 作为一组询问。
如果 $A==B$,输出 $0$。
Output
第一行输出 YES/NO,作为问题 1 的回答。
下面 $2 \sim Q+12$ 行每行一个正整数,第 $i$ 行回答第 $i-1$ 组询问的答案。
下面 $2 \sim Q+12$ 行每行一个正整数,第 $i$ 行回答第 $i-1$ 组询问的答案。
Constraints
对于 $30\%$ 的数据,保证林荫要求的树唯一存在。
对于 $70\%$ 的数据,$M\le 10^4,\ N\le 10^3$。
对于 $100\%$ 的数据,$M\le 10^6,\ N\le 10^4$。
对于 $100\%$ 的数据,保证边权值小于等于 $30000,\ Q\le 10^5$。
对于 $70\%$ 的数据,$M\le 10^4,\ N\le 10^3$。
对于 $100\%$ 的数据,$M\le 10^6,\ N\le 10^4$。
对于 $100\%$ 的数据,保证边权值小于等于 $30000,\ Q\le 10^5$。
Sample 1 Input
5 5 2
1 2 3
1 3 3
2 3 5
2 4 4
1 5 5
1 3
1 5
Sample 1 Output
NO
3
5