在一堂趣味盎然的数学课上,老师设计了一个名为“解密纸条”的游戏。班上有 N 个同学,每位同学在一张纸条上秘密写下一个数字,要么是 1,要么是 2。
设第 i 位同学纸条上写的数字为 P_i(P_i 的值为 1 或 2)。
你的任务是破解所有同学的纸条内容,即确定 P_1, P_2, \ldots, P_N 的值。
老师提供了 M 条解密线索,每条线索描述为:第 X_i 位同学和第 Y_i 位同学纸条上的数字之和加上一个值 Z_i 总和为偶数(即 P_{X_i} + P_{Y_i} + Z_i 是偶数)。
作为游戏的破解者,你可以执行以下操作任意次:选择一位同学,查看他/她纸条上的数字,每次查看需要消耗 1 个单位的时间。
请计算确定所有 P_1, P_2, \ldots, P_N 的最少时间。
第一行包含两个整数 N 和 M,分别表示同学人数和线索数量。
接下来 M 行,每行包含三个整数 X_i, Y_i, Z_i,表示一条线索:第 X_i 位同学和第 Y_i 位同学纸条上的数字之和加上 Z_i 为偶数。
输出一个整数,表示确定所有同学纸条内容的最少总时间。
2 1 1 2 1
1
6 3 1 2 1 2 3 2 4 5 4
3
8 6 1 2 3 2 3 5 2 4 6 5 7 8 6 8 2 5 8 3
2
有 2 个人,1 个线索,线索指示 P_1+P_2+1 为偶数,因此只需要查看第 1 位同学的纸条或者第 2 位同学的纸条,就可以确定两位同学纸条上的数字了。
对于 100\% 的数据,满足 2 \leq N \leq 10^5,1 \leq M \leq 10^5,1 \leq X_i < Y_i \leq N,1 \leq Z_i \leq 100。
且满足:所有 (X_i, Y_i) 互不相同,输入线索无矛盾,即一定可以解密出一组 P_1, P_2, \ldots, P_N 满足所有线索条件。
| 测试点 | 特殊性质 |
|---|---|
| 1 \sim 4 | M=1 |
| 5 \sim 20 | 无 |