P17582 [JAG 2026 Summer Camp #3] Two Friend Groups
题目描述
JAG 动物园饲养了 $N$ 只猴子,编号为 $1$ 到 $N$。
动物园工作人员调查了猴子之间的关系。对于 $M$ 对猴子,他们已经确定了这两只猴子是否互相喜欢。根据这些信息,你决定将这 $N$ 只猴子分配到两个非空的笼子中,使它们尽可能和平地生活。对于这些猴子对,必须满足以下条件:
- 互相喜欢的两只猴子必须放在同一个笼子里。
- 互不喜欢的两只猴子必须放在不同的笼子里。
判断能否按上述方式分配猴子。
输入格式
输入包含一组测试数据,格式如下。
```text
N M
a_1 b_1 c_1
a_2 b_2 c_2
...
a_M b_M c_M
```
第一行包含两个整数 $N,M$($2\le N\le10^5$,$1\le M\le10^5$),分别表示猴子的数量和已调查的猴子对数。
接下来 $M$ 行,每行包含两个整数 $a_i,b_i$($1\le a_i,b_i\le N$)和一个字符 $c_i$,其中 $c_i$ 为 `o` 或 `x`。如果 $c_i$ 为 `o`,则猴子 $a_i$ 和 $b_i$ 互相喜欢;如果 $c_i$ 为 `x`,则它们互不喜欢。保证 $a_i\ne b_i$,且每对猴子最多出现一次。
输出格式
如果可以将猴子分配到两个非空笼子中并满足要求,输出 `Yes`;否则输出 `No`。