#P1403. 等式

等式

Description

n个变量和m个“相等”或“不相等”的约束条件,请你判定是否存在一种赋值方案满足所有m个约束条件。

Input Format

第一行一个整数T,表示数据组数。(T<=100)

接下来会有T组数据,对于每组数据:

第一行是两个整数n,m,表示变量个数和约束条件的个数。(1<=n,m<=500000)

接下来m行,每行三个整数a,b,e(1<=a,b<=n),表示第a个变量和第b个变量的关系:

  • 若e=0则表示第a个变量不等于第b个变量;
  • 若e=1则表示第a个变量等于第b个变量

保证所有数据的n总和不超过500000。

Output Format

输出T行,第i行表示第i组数据的答案。若第i组数据存在一种方案则输出"Yes";否则输出"No"(不包括引号)。

2
5 5
1 2 1
2 3 1
3 4 1
1 4 1
2 5 0
3 3
1 2 1
2 3 1
1 3 0​
Yes
No​

Source

并查集