‹ 上一题 下一题 ›

07680. 加边判环 未做

1000 ms 256 MB 测试点 10 通过率 100% 7级·树与并查集自拟题并查集判环阶梯·进阶

题目描述

有 个点,编号为 到 ,初始时图中一条边也没有。

接下来依次给出 条边 ,并按照下面的规则决定是否把这条边加入图中:

  • 如果当前图中 与 已经连通(即加入这条边会形成环),就输出 Yes,并跳过这条边,图保持不变;
  • 否则把这条边加入图中,输出 No。

特别地,当 时,这条自环边会形成环,应当输出 Yes 并跳过。

所有 条边处理完毕后,再输出一行,表示最终图中连通块的个数。

输入格式

第一行包含两个整数 。

接下来 行,每行包含两个整数 ,表示第 条待加入的边。

输出格式

输出共 行。

前 行依次对应 条边:若这条边被跳过则输出 Yes,若这条边被加入则输出 No。

最后一行输出一个整数,表示处理完所有边之后图中连通块的个数。

样例

样例输入

5 6
1 2
2 3
3 1
4 4
4 5
1 5

样例输出

No
No
Yes
Yes
No
No
1

样例解释

第 条边 加入前 与 是否连通 输出 加入后的连通块
否 No
否 No
是 Yes 不变
是(自环) Yes 不变
否 No
否 No

最后一条边把两个连通块连成一个,所以第六次输出的是 No;最终图中有 个连通块,最后一行输出 。

数据范围

对于全部测试数据:

  • ,;
  • ;
  • 允许 ,也允许同一条边被多次给出。
输入
输出

            
答案