CF2204D 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$。
输出格式
对于每组测试用例,输出一个整数,表示定向后最多可以有多少个美丽顶点。
说明/提示
由 ChatGPT 5 翻译