#745. 1或2

1或2

读写要求

本题采用文件读写,请在提交代码时使用正确的文件名,否则会导致 RE。

输入文件:card.in

输出文件:card.out

题目描述

有 NN 张背面朝上的卡片排成一行,每张卡片上写着 11 或 22。

记第 ii 张卡片上的数为 AiA_i。

你需要确定全部 A1,A2,…,ANA_1,A_2,\dots,A_N 的具体取值。

已知以下信息:对每个 i=1,2,…,Mi=1,2,\dots,M,都有

AXi+AYi+Zi 是偶数A_{X_i}+A_{Y_i}+Z_i\text{ 是偶数}

你可以重复使用如下操作:

  • 花费 1,选择一张卡片并直接得知其数值。

保证输入无矛盾(即至少存在一组满足条件的 AA)。

请输出确定所有卡片所需的最小总花费。

输入格式

第一行两个整数 N,MN,M。

接下来 MM 行,每行三个整数 Xi,Yi,ZiX_i,Y_i,Z_i。

输出格式

输出一个整数,表示最小总花费。

数据范围

  • 2≤N≤1052\le N\le 10^5
  • 1≤M≤1051\le M\le 10^5
  • 1≤Xi<Yi≤N1\le X_i<Y_i\le N
  • 1≤Zi≤1001\le Z_i\le 100
  • (Xi,Yi)(X_i,Y_i) 两两不同

输入输出样例

3 1
1 2 1
2