测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A1887. [BOI2003] 团伙

编程题 普及+/提高
知识点

题目描述

现在有 $n$ 个人,他们之间有两种关系:朋友和敌人。我们知道:

- 一个人的朋友的朋友是朋友
- 一个人的敌人的敌人是朋友

现在要对这些人进行组团。两个人在一个团体内当且仅当这两个人是朋友。请求出这些人中最多可能有的团体数。

输入格式

第一行输入一个整数 $n$ 代表人数。

第二行输入一个整数 $m$ 表示接下来要列出 $m$ 个关系。

接下来 $m$ 行,每行一个字符 $opt$ 和两个整数 $p,q$,分别代表关系(朋友或敌人),有关系的两个人之中的第一个人和第二个人。其中 $opt$ 有两种可能:

- 如果 $opt$ 为 F,则表明 $p$ 和 $q$ 是朋友。
- 如果 $opt$ 为 E,则表明 $p$ 和 $q$ 是敌人。

输出格式

一行一个整数代表最多的团体数。

输入输出样例

输入 #1
6
4
E 1 4
F 3 5
F 4 6
E 1 2
输出 #1
3

说明/提示

对于 $100\%$ 的数据,$2 \le n \le 1000$,$1 \le m \le 5000$,$1 \le p,q \le n$。
上一题 去做题 下一题