编程题
### 问题描述 现在有 $n$ 种生物,他们之间有两种关系:合作和捕猎。我们知道: - 一种生物的合作对象的合作对象是合作对象。 - 一种生物的捕猎对象的捕猎对象是合作对象。 现在要对这些生物进行合并。两种生物在同一个集合内当且仅当这两种生物是合作关系。请求出这些生物中最多可能组成的集合数。 ### 输入格式 第一行输入一个正整数 $n$,代表生物种类数。 第二行输入一个正整数 $m$,表示接下来列出的 $m$ 个关系。 接下来 $m$ 行,每行一个字符 $c$ 和两个正整数 $p, q$,分别代表关系(合作或捕猎),有关系的两种生物中的第一种和第二种,其中 $c$ 有两种可能: - 如果 $c$ 为 `C`,则表明 $p$ 和 $q$ 是合作关系。 - 如果 $c$ 为 `H`,则表明 $p$ 和 $q$ 是捕猎关系。 数据保证:$1 \leq n, m \leq 10^5$,$1 \leq p, q \leq n$。 ### 输出格式 输出一行一个正整数,表示最多组成的集合数。 ### 样例输入 ```plaintext 6 4 H 1 4 C 3 5 C 4 6 H 1 2 ``` ### 样例输出 ```plaintext 3 ``` ### 样例解释 $2, 4, 6$ 是一个集合,$3, 5$ 是一个集合,$1$ 是一个集合,所以最后答案是 $3$。
查看答案
赣ICP备20007335号-2