33OJ
登录 注册

#P17582. [JAG 2026 Summer Camp #3] Two Friend Groups

    ID: 20290 远端评测题 2000ms 2048MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>图论并查集二分图ICPC2026

[JAG 2026 Summer Camp #3] Two Friend Groups

题目描述

JAG 动物园饲养了 NN 只猴子,编号为 11 到 NN。

动物园工作人员调查了猴子之间的关系。对于 MM 对猴子,他们已经确定了这两只猴子是否互相喜欢。根据这些信息,你决定将这 NN 只猴子分配到两个非空的笼子中,使它们尽可能和平地生活。对于这些猴子对,必须满足以下条件:

  • 互相喜欢的两只猴子必须放在同一个笼子里。
  • 互不喜欢的两只猴子必须放在不同的笼子里。

判断能否按上述方式分配猴子。

输入格式

输入包含一组测试数据,格式如下。

N M
a_1 b_1 c_1
a_2 b_2 c_2
...
a_M b_M c_M

第一行包含两个整数 N,MN,M(2≤N≤1052\le N\le10^5,1≤M≤1051\le M\le10^5),分别表示猴子的数量和已调查的猴子对数。

接下来 MM 行,每行包含两个整数 ai,bia_i,b_i(1≤ai,bi≤N1\le a_i,b_i\le N)和一个字符 cic_i,其中 cic_i 为 o 或 x。如果 cic_i 为 o,则猴子 aia_i 和 bib_i 互相喜欢;如果 cic_i 为 x,则它们互不喜欢。保证 ai≠bia_i\ne b_i,且每对猴子最多出现一次。

输出格式

如果可以将猴子分配到两个非空笼子中并满足要求,输出 Yes;否则输出 No。

5 8
2 3 x
2 5 x
1 3 x
3 4 o
1 5 x
4 5 o
3 5 o
1 4 x
Yes
2 1
1 2 o
No