logo AlgoBeat OnlineJudge
登录 注册

#10364. [htoj P12562] 神秘地图

内存限制:256 MiB 时间限制:1000 ms 输入文件:map.in 输出文件:map.out
题目类型:传统 评测方式:文本比较
上传者: htoj

题目描述

Cuber QQ 正在整理一张神秘地图。地图上一共有 个地点,编号为 。对于任意两个地点 ,Cuber QQ 希望最终确定一个整数距离

一份合法的距离表需要满足:

  1. 对任意地点 ,有
  2. 对任意两个不同地点 ,有 ,并且
  3. 对任意三个地点 ,都满足:

    也就是说,从 的距离,不能比“先到 ,再从 ”更长。

现在,Cuber QQ 已经知道了 条距离记录。第 条记录为 ,表示地点 与地点 之间的距离必须恰好等于

现在 Cuber QQ 想请你判断,是否存在一种方法,补全所有尚未确定的距离,使得所有已知记录都被保留,并且整张距离表合法。

输入格式

从文件 map.in 中读入数据。

第一行一个整数 ,表示测试数据组数。

对于每一组测试数据,第一行包含两个整数 ,表示地点数量和已知的距离记录。接下来的 行,每行三个整数 ,表示一条记录。

输出格式

输出到文件 map.out 中。

对于每组数据,输出一行。如果存在合法的补全方案,输出 YES;否则输出 NO

样例

输入

4
4 4
1 2 3
2 3 4
1 3 7
3 4 2
3 3
1 2 2
2 3 2
1 3 5
3 2
1 2 1
2 3 1
3 1
1 3 100

输出

YES
NO
YES
YES

数据范围与提示

样例解释

  • 对于第 1 组数据,已知 。由于从 经过 的距离为 ,与已知的 不冲突,因此可以合法补全。

  • 对于第 2 组数据,根据三角不等式,必须满足 ,但输入中要求 ,发生矛盾,所以不存在合法补全方案。

  • 对于第 3 组数据,只知道 ,没有要求 必须是多少,所以可以令

  • 对于第 4 组数据,虽然它和第 3 组数据的点数相同,但不同测试数据互相独立。只知道 ,可以合法补全。


数据规模与约定

  • 同一组数据中,任意一对地点至多出现一条距离记录。
  • 对于所有测试数据,保证