题目描述
给你一个 n 个点组成大小为 m 的无向图边集 edgeList ,其中 edgeList[i]=[ui,vi,disi] 表示点 ui 和点 vi 之间有一条长度为 disi 的边。请注意,两个点之间可能有 超过一条边 。
给你一个大小为 q 的查询数组queries ,其中 queries[j]=[pj,qj,limitj] ,你的任务是对于每个查询 queries[j] ,判断是否存在从 pj 到 qj 的路径,且这条路径上的每一条边都 严格小于 limitj 。
请你返回一个 布尔数组 answer ,其中 answer.length==queries.length ,当 queries[j] 的查询结果为 true 时, answer 第 j 个值为 1 ,否则为 0 。
输入格式
第一行三个空格隔开的整数 n,m,q;
接下来的 m 行,每行三个整数,分别表示 ui,vi,disi;
再接下来的 q 行,每行三个整数,分别表示 pj,qj,limitj。
输出格式
一行 q 个空格隔开的 0 或 1,表示答案。
示例 1:

3 4 2
0 1 2
1 2 4
2 0 8
1 0 16
0 1 2
0 2 5
0 1
解释:
上图为给定的输入数据。注意到 0 和 1 之间有两条重边,分别为 2 和 16 。
对于第一个查询,0 和 1 之间没有小于 2 的边,所以我们返回 0 。
对于第二个查询,有一条路径(0 -> 1 -> 2)两条边都小于 5 ,所以这个查询我们返回 1 。
示例 2:

5 4 2
0 1 10
1 2 5
2 3 9
3 4 13
0 4 14
1 4 13
1 0
提示:
- 2<=n<=105
- 1<=m,q<=105
- 0<=ui,vi,pj,qj<=n−1
- ui!=vi
- pj!=qj
- 1<=disi,limitj<=109
- 两个点之间可能有 多条 边。
source
1697. 检查边长度限制的路径是否存在