AT_jsc2026_final_b Binary Flood
题目描述
有一个包含 $N$ 个顶点 $M$ 条边的连通简单无向二分图 $G$。顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $U_i$ 和顶点 $V_i$。
初始时,每个顶点被染为黑色或白色,顶点 $1$ 为黑色。此外,每条边相连的两个顶点颜色不同。由此可知所有顶点的颜色是唯一确定的。
你可以进行任意次如下操作:
- 从 $A_1,A_2,\ldots,A_K$ 这 $K$ 个顶点中选择一个,设为 $v$。在 $G$ 中,以 $v$ 所在的同色顶点组成的诱导子图里,将与 $v$ 连通的所有顶点的颜色反转(黑变白,白变黑)。
请你求出,为了让所有顶点颜色相同,最少需要操作多少次。
你需要对 $T$ 个测试用例分别求解并输出答案。
诱导子图指的是,若 $S$ 是 $G$ 的顶点的一个子集,则由 $S$ 构成的诱导子图是指顶点集合为 $S$,边集合为“两端都在 $S$ 内的 $G$ 的边” 的图。
输入格式
输入按以下格式从标准输入读入。
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
每个测试用例按以下格式给出:
> $N$ $M$ $K$
> $A_1$ $A_2$ $\ldots$ $A_K$
> $U_1$ $V_1$
> $U_2$ $V_2$
> $\vdots$
> $U_M$ $V_M$
输出格式
输出 $T$ 行。
第 $i$ 行输出第 $i$ 个测试用例的答案。
说明/提示
### 样例解释 1
在第 $1$ 个测试用例中,初始时顶点 $1,4$ 为黑色,顶点 $2,3,5$ 为白色。按照如下步骤进行操作,只需 $2$ 次即可让所有顶点颜色相同。
- 选择顶点 $3$,顶点 $3$ 的颜色变为黑色。
- 选择顶点 $1$,顶点 $1,3,4$ 的颜色变为白色。
### 数据范围
- $1 \le T \le 10^4$
- $2 \le N \le 2 \times 10^5$
- $N-1 \le M \le 2 \times 10^5$
- $1 \le K \le \min(N, 10)$
- $1 \le A_1 < A_2 < \ldots < A_K \le N$
- $1 \le U_i < V_i \le N$
- $G$ 为连通的简单无向二分图
- 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$
- 所有测试用例中 $M$ 的总和不超过 $2 \times 10^5$
- 输入数据均为整数。
由 ChatGPT 5 翻译