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

A16518. Alternating Path

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

题目描述

给定一个包含 $n$ 个顶点和 $m$ 条边的无向图,顶点编号为 $1$ 到 $n$。该图没有自环和重边。

你的任务是通过为每条边选择一个方向,使图变为有向图。边定向后,称一系列顶点 $v_1, v_2, \dots, v_k$($k$ 可以任意大,且任何顶点均可出现任意多次)为交替路径,若满足:

- 边 $(v_1, v_2)$ 的方向是从 $v_1$ 指向 $v_2$;
- 边 $(v_2, v_3)$ 的方向是从 $v_3$ 指向 $v_2$;
- 边 $(v_3, v_4)$ 的方向是从 $v_3$ 指向 $v_4$;
- 边 $(v_4, v_5)$ 的方向是从 $v_5$ 指向 $v_4$;
- 以此类推。

称一个顶点 $v$ 为美丽顶点,当且仅当,原图中所有从顶点 $v$ 出发的路径(可以不是简单路径)在定向后的有向图中都是交替路径。

求最大的美丽顶点数量。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例数量。

每组测试用例的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 2 \times 10^5$,$0 \le m \le 2 \times 10^5$),分别表示图的顶点数和边数。

接下来的 $m$ 行,每行包含两个整数 $v$ 和 $u$($1 \le v, u \le n$),表示一条无向边。

输入保证:

- 给定的图没有自环或重边;
- 所有测试用例的 $n$ 之和不超过 $2 \times 10^5$;
- 所有测试用例的 $m$ 之和不超过 $2 \times 10^5$。

输出格式

对于每组测试用例,输出一个整数,表示定向后最多可以有多少个美丽顶点。

输入输出样例

输入 #1
4
8 9
1 3
1 4
2 3
2 4
5 6
6 7
7 8
8 5
6 8
4 0
6 2
1 5
2 3
1 0
输出 #1
2
4
4
1
上一题 去做题 下一题