bzoj#P1370. [Baltic2003]Gang团伙

[Baltic2003]Gang团伙

题目描述

在某城市里住着 nn 个人,任何两个认识的人不是朋友就是敌人,而且满足:

  1. 我朋友的朋友是我的朋友;
  2. 我敌人的敌人是我的朋友。

所有是朋友的人组成一个团伙。

告诉你关于这 nn 个人的 mm 条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?

输入格式

第一行两个整数 nnmm

以下 mm 行,每行为 p x y

pp 的值为 0011pp00 时,表示 xxyy 是朋友,pp11 时,表示 xxyy 是敌人。

输出格式

一个整数,表示这 nn 个人最多可能有几个团伙。

6
4
E 1 4
F 3 5
F 4 6
E 1 2
3

样例说明

最多可以有如下三个团伙:{1},{2,4,6},{3,5}\{1\},\{2,4,6\},\{3,5\}

数据规模与约定

对于 100%100\% 的数据,满足 n103n\leq10^3m5×103m\leq5\times 10^3