题目描述
工地上有 个作业点,编号为 到 ,一开始点与点之间没有任何道路。接下来依次给出 条候选道路 ,并按下面的规则决定是否采纳:
- 如果当前图中 与 已经连通(即采纳这条边会形成环),就输出
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;最终图中有 个连通块,最后一行输出 。
数据范围
对于全部测试数据:
- ,;
- ;
- 允许 ,也允许同一条边被多次给出。