CF1726D Edge Split
题目描述
### 题目大意
给定一个含有 $n$ 个点 $m$ 条边的无向简单图。
对这张简单图的所有边进行红蓝染色。其中**仅由红边**组成的无向图连通块数为 $c_1$,**仅由蓝边**组成的无向图连通块数为 $c_2$。
请构造一种染色方案使得 $c_1 + c_2$ 最小。如果有多种构造方案,任意输出一种即可。
输入格式
第一行包含一个整数 $T \; (1 \leqslant T \leqslant 10^5)$ 表示测试样例组数。
对于每组测试样例,第一行包含两个整数 $n \; (2 \leqslant n \leqslant 2 \cdot 10^5 )$ 和 $m \; (n - 1 \leqslant m \leqslant \min(n + 2, \frac{n \cdot (n - 1)}{2}))$ 表示该简单图的点数和边数。
接下来的 m 行,含有两个数 $u_i$ 和 $v_i \; (1 \leqslant u_i,v_i \leqslant n, \; u_i \neq v_i)$ 表示点 $u_i$ 和点 $v_i$ 间存在一条有向边。数据满足图联通且不存在重边和自环。
数据满足 $\sum n \leqslant 10^6, \; \sum m \leqslant 2 \cdot 10^6$
输出格式
对于每组测试样例,包含一行一个长度为 $m$ 的 $01$串 $s$ 表示其中一种满足题目条件的染色方案。其中 $s_i = 0$ 表示边 $(u_i, v_i)$ 被染成的红色,否则表示被染成了蓝色。
说明/提示
请注意 $m \leqslant n + 2$ 意味着什么。
$Translated \; by \; Zigh$